
Pandoc
Pandoc簡介
Pandoc是什么?
Pandoc 是一個開源的跨平臺文檔格式轉換工具,由美國加州大學伯克利分校的哲學系教授 John MacFarlane 開發(主要用 Haskell 語言寫的),現在還有德國開發者 Albert Krewinkel 一起維護。它在 GitHub 上特別火,有超過 27000 個“點贊”(Star),3000 多人參與過改進。很多人稱它是“文檔轉換界的瑞士軍刀”——啥格式都能轉,還特別靈活。簡單來說,不管你是寫論文、做課件,還是整理筆記,它都能幫你把文檔從一種格式變成另一種格式。
Pandoc功能特征
支持的格式超多
Pandoc 能處理超過 50 種文檔格式的互相轉換。比如:
文本類:Markdown(現在很多人寫筆記用的輕量級格式)、LaTeX(學術排版神器)、reStructuredText(Python 社區常用的文檔格式)、HTML(網頁代碼);
辦公文檔:Word 的 .docx 文件、OpenDocument 格式(.odt,比如 LibreOffice 用的);
電子書:EPUB(適合手機閱讀的電子書格式)、MOBI(亞馬遜 Kindle 用的格式);
還能通過 LaTeX 生成高質量的 PDF——比如畢業論文、學術報告這種需要嚴格排版的場景。
能自己改規則
如果默認的轉換效果不滿足需求,可以用 Lua 或 Python 寫腳本自定義規則。比如:
用自己設計的模板生成特定樣式的 Word 或 PDF(比如公司 logo 固定在頁眉);
寫個小程序自動調整文檔里的內容(比如把所有標題字體改成宋體加粗)。
其他實用功能
一次合并多個文件再轉換(比如把 3 個 Markdown 筆記合成一個 PDF);
渲染 LaTeX 數學公式(比如寫論文時的公式,轉成 HTML 或 PDF 后依然清晰)。
Pandoc應用場景
學生/老師寫論文或課件:比如用 Markdown 寫初稿(簡單好編輯),然后一鍵轉成 Word 給導師看,或者轉成 PDF 打印;也可以把 LaTeX 文檔轉成 Word,方便和不會用 LaTeX 的同學協作。
寫技術文檔或教程:比如用 Markdown 寫了個軟件使用指南,需要同時給網頁(HTML)和打印版(PDF)用,Pandoc 直接一鍵生成兩種格式。
做ppt:用 Markdown 寫演講稿,轉成 Beamer 幻燈片(適合學術匯報),或者轉成 PowerPoint 的 .pptx 文件(適合公司匯報)。
自動化處理文檔:比如公司用 Pandoc 結合腳本,定期把數據庫里的內容自動轉成 PDF 手冊;或者寫代碼時,用它把代碼注釋自動生成 HTML 文檔。
團隊協作時統一格式:技術團隊習慣用 Markdown 快速寫文檔,產品經理需要 Word 版本確認需求,法務合同要在 LaTeX 和 DOCX 之間來回改——Pandoc 能輕松搞定這些需求。
Pandoc安裝
Pandoc 支持 Windows、Mac 和 Linux,裝起來挺方便:
Windows 用戶:
最簡單的方法:去 Pandoc 官網 下載安裝包(.msi 文件),雙擊運行按提示裝完就行。裝完后打開命令提示符(按 Win+R 輸入 cmd),輸入 pandoc --version,如果看到版本號就說明裝好了。
另一種方法:如果你電腦裝了 Chocolatey(一個 Windows 包管理工具),直接在命令行輸入 choco install pandoc 就能自動裝。
Mac 用戶:
如果裝了 Homebrew(Mac 上常用的軟件管理工具),在終端輸入 brew install pandoc,等一會兒就裝好了。
也可以去官網下載 macOS 版本的安裝包,雙擊安裝。
Linux 用戶:
Debian/Ubuntu 系統:打開終端輸入 sudo apt-get update 更新軟件列表,再輸入 sudo apt-get install pandoc 安裝。
Arch/Manjaro 系統:輸入 sudo pacman -S pandoc。
其他 Linux 系統可以用對應的包管理工具裝,或者直接從源代碼編譯安裝(適合會寫代碼的用戶)。
Pandoc使用
最簡單的轉換
比如把一個 Markdown 文件轉成 PDF:
pandoc input.md -o output.pdf
或者把 LaTeX 文件轉成 HTML:
pandoc input.tex -o output.html
合并多個文件再轉
比如把兩個 Markdown 筆記合成一個 HTML 文件:
pandoc input1.md input2.md -o combined.html
生成幻燈片
用 Markdown 寫演講稿,轉成 Beamer 幻燈片(適合學術匯報):
pandoc input.md -t beamer -o slides.pdf
或者轉成 PowerPoint 文件:
pandoc input.md -t pptx -o presentation.pptx
加自定義信息
比如在生成的 PDF 里固定標題、作者等信息:
pandoc input.md -o output.pdf --metadata title="我的筆記" --metadata author="張三"
總之,Pandoc 就像一個萬能翻譯官,不管你手頭是什么格式的文檔,想轉成什么格式,它大概率都能搞定。而且支持自定義規則,適合從學生到專業人士的各種需求。
開源鏈接
https://github.com/jgm/pandoc