如何在 Linux 中使用 Pandoc 轉換檔案格式

在之前的一篇文章中,我介紹了使用 pandoc 將少量 Markdown 檔案 批量轉換為 HTML 的過程。在那篇文章中,我建立了多個 HTML 檔案,但 Pandoc 可以做的更多。它被稱為文件轉換的“瑞士軍刀” —— 這是有充分理由的。很少有它做不到的事情。

Pandoc可以將 .docx、.odt、.html、.epub、LaTeX、DocBook 等格式互相轉換,或者轉換為其他格式,例如 JATS、TEI Simple、AsciiDoc 等。

是的,這意味著 Pandoc 可以將 .docx 檔案轉換為 .pdf 和 .html 檔案,但你可能會想:“Word 也可以將檔案匯出為 .pdf 和 .html。為什麼我需要 Pandoc 呢?”

嗯,本來呢,你這個說法也沒錯,但考慮到 Pandoc 可以轉換這麼多格式,它很可能成為你所有轉換任務的首選工具。例如,我們中的許多人都知道 Markdown 編輯器可以將其 Markdown 檔案匯出為 .html。而使用 Pandoc 檔案也可以轉換為許多其他格式。

我很少將 Markdown 匯出為 HTML。我通常讓 Pandoc 來做這件事。

使用 Pandoc 轉換檔案格式

本文中,我會將 Markdown 檔案轉換成幾種不同的格式。我幾乎所有的寫作都使用 Markdown 語法,但我經常需要轉換為另一種格式:學校作業通常需要的 .docx 格式;我建立的網頁通常需要的 .html 格式;工作需要的 .epub 格式;傳單和講義需要的 .pdf 格式;甚至包括一個大學數字人文專案偶爾需要的 TEI Simple 格式。Pandoc 可以輕鬆處理所有這些格式,甚至更多。

首先,你需要 安裝 pandoc。此外,要建立 .pdf 檔案,還需要 LaTeX。我最喜歡的套件是TeX Live。

注意:如果你想在安裝前試用 pandoc,這裡有一個線上試用頁面:http://pandoc.org/try/。

安裝 pandoc 和 texlive

Ubuntu 和其他 Debian 發行版的使用者可以在終端中輸入以下命令:

sudo apt-get update sudo apt-get install pandoc texlive

請注意第二行,你將一次性安裝 pandoctexlive。apt-get 命令支援你這樣做。不過,我建議你先去喝杯咖啡,因為這可能需要幾分鐘的時間。

開始轉換

安裝完成 pandoctexlive後,你就可以嘗試用它們來完成一些工作了!

該專案的示例文件將是一篇文章,該文章於 1894 年 12 月首次發表在《北美評論》上,標題為“如何擊退火車劫匪”。我將使用的 Markdown 檔案是前一段時間建立的,該文章的一個恢復專案的一部分(LCTT 譯註:這是篇一百多年前發表的文章,這是一個數字化“恢復”專案)。

我把這篇文章儲存為
   how_to_repel_train_robbers.md
,它位於我的Documents目錄下,名為samples的子目錄中。它在 Ghostwriter 中看起來是這樣的:

我想建立此檔案的 .docx、.pdf 和 .html 版本。

第一次轉換

首先,我將製作一個 .pdf 副本,因為我在安裝 LaTeX 包時遇到了些麻煩。

~/Documents/samples/目錄中,我輸入以下,以建立一個 .pdf 檔案:

pandoc -o htrtr.pdf how_to_repel_train_robbers.md

上述命令將基於
   how_to_repel_train_robbers.md
檔案,建立一個名為htrtr.pdf的檔案。我使用htrtr作為名稱的原因是:嗯,它比
   how_to_repel_train_robbers
短。htrtr其實是長標題中的單詞首字母排列。

這是 .pdf 檔案製作完成後的一個截圖:

第二次轉換

接下來,我想建立一個 .docx 檔案。該命令與我用來建立 .pdf 的命令幾乎相同,它是:

pandoc -o htrtr.docx how_to_repel_train_robbers.md

很快,一個 .docx 檔案就建立好了。這是它在 Libre Writer 中的樣子:

第三次轉換

我可能會想在網上釋出這個,所以再多一個支援網頁的格式也不錯。我將使用以下命令建立一個 .html 檔案:

pandoc -o htrtr.html how_to_repel_train_robbers.md

同樣,建立它的命令與前兩次轉換非常相似。這是該 .html 檔案在瀏覽器中的樣子:

注意到什麼了嗎?

讓我們再看看之前的命令。它們是:

pandoc -o htrtr.pdf how_to_repel_train_robbers.md pandoc -o htrtr.docx how_to_repel_train_robbers.md pandoc -o htrtr.html how_to_repel_train_robbers.md

這三個命令唯一不同的是 htrtr後的副檔名。這提示你 pandoc 會依賴於你提供的輸出副檔名(來決定目標轉換格式)。

總結

Pandoc 可以做的遠不止這裡完成的三個小轉換。如果你選擇使用一個首選格式編寫檔案,但時不時又需要將檔案轉換為另一種格式,pandoc 很大概率都能為你完成。

現在,既然你已經學會了,你會用它做什麼呢?你會把它自動化嗎?如果你有一個網站,想供讀者下載文章怎麼辦?你可以修改這些小命令,把它們編寫成一個指令碼,你的讀者可以決定他們想要哪種格式。你可以提供 .docx、.pdf、.odt、.epub 或更多格式。你的讀者只需要選擇一種格式,然後對應的轉換指令碼就會執行,最後,你的讀者下載他們想要的檔案。這是完全可以做到的。

via: https://itsfoss.com/pandoc-convert-file/

作者:Bill Dyer選題:lujun9972譯者:lkxed校對:wxy

本文由 LCTT原創編譯,Linux中國榮譽推出