Pandoc是一款可以支持多種文檔格式的轉換器,我們可以將 txt、docx、html、pdf等多種格式的文檔進行互相轉換,從而快速獲取到自己需要的格式文件。

Pandoc是一個Haskell庫,用于將一種標記格式轉換為另一種格式,也是一個使用該庫的命令行工具。
Pandoc可以在許多標記和文字處理格式之間進行轉換,包括但不限于各種類型的Markdown、HTML、LaTeX和Word docx。有關輸入和輸出格式的完整列表,請參閱下面的-from和-to選項。Pandoc還可以生成PDF輸出:請參見下面的創建PDF。
Pandoc的增強版Markdown包括表格、定義列表、元數據塊、腳注、引用、數學等語法。請看下面的Pandoc的Markdown。
Pandoc有一個模塊化的設計:它由一組讀取器和一組寫入器組成,前者解析給定格式的文本,并生成文檔的本機表示(抽象語法樹或AST),后者將本機表示轉換為目標格式。因此,添加一個輸入或輸出格式只需要添加一個閱讀器或寫入器即可。用戶還可以運行自定義的pandoc過濾器來修改中間AST。
由于pandoc對文檔的中間表示方式不如它所轉換的許多格式之間的表現力強,因此不應該期望每一種格式和每一種其他格式之間都能實現完美的轉換。Pandoc試圖保留文檔的結構元素,但不保留格式細節,如邊距大小。而且有些文檔元素,如復雜的表格,可能不適合pandoc的簡單文檔模型。雖然從pandoc的Markdown到所有格式的轉換都力求完美,但從比pandoc的Markdown更有表現力的格式轉換可能會有損失。
參數說明
Pandoc 程序的命令使用方式為:
pandoc <files> <options>
其中?<files>?為輸入的內容,其輸入即可以來自文件,也可以來自標準輸入甚至網頁鏈接。而?<options>?為參數選項。主要的參數選項有:
-f <format>、-r <format>:指定輸入文件格式,默認為 Markdown;
-t <format>、-w <format>:指定輸出文件格式,默認為 HTML;
-o <file>:指定輸出文件,該項缺省時,將輸出到標準輸出;
--highlight-style <style>:設置代碼高亮主題,默認為?pygments;
-s:生成有頭尾的獨立文件(HTML,LaTeX,TEI 或 RTF);
-S:聰明模式,根據文件判斷其格式;
--self-contained:生成自包含的文件,僅在輸出 HTML 文檔時有效;
--verbose:開啟 Verbose 模式,用于 Debug;
--list-input-formats:列出支持的輸入格式;
--list-output-formats:列出支持的輸出格式;
--list-extensions:列出支持的 Markdown 擴展方案;
--list-highlight-languages:列出支持代碼高亮的編程語言;
--list-highlight-styles:列出支持的代碼高亮主題;
-v、--version:顯示程序的版本號;
-h、--help:顯示程序的幫助信息。
雖然 Pandoc 提供了用于指定輸入輸出格式的參數,但是很多時候該參數不必使用。Pandoc 已經足夠聰明到可以根據文件名判斷輸入輸出格式,所以除非文件名可能造成歧義,否則這兩個參數都可以省略。