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