怎样在 Linux 中使用 Pandoc 转换文件格式 [Quick Guide]

在之前的一篇文章中,我介绍了使用 pandoc 将少量 Markdown 文件批量转换为 HTML 的过程。 在那篇文章中,创建了多个 HTML 文件,但 pandoc 可以做的更多。 它被称为文档转换的“瑞士军刀”——这是有充分理由的。 没有很多它做不到的。

潘多克 可以将 .docx、.odt、.html、.epub、LaTeX、DocBook 等转换为这些和其他格式,例如 JATS、TEI Simple、AsciiDoc 等。

是的,这意味着 pandoc 可以将 .docx 文件转换为 .pdf 和 .html,但您可能会想:“Word 也可以将文件导出为 .pdf 和 .html。 为什么我需要pandoc?”

你会有一个很好的观点,但由于 pandoc 可以转换这么多格式,它很可能成为你所有转换任务的首选工具。 为了 example,我们很多人都知道 Markdown 编辑器可以将其 Markdown 文件导出为 .html。 使用 pandoc,Markdown 文件也可以转换为许多其他格式。

我很少将 Markdown 导出为 HTML; 我通常让 pandoc 来做。

使用 Pandoc 转换文件格式

在这里,我将把 Markdown 文件转换成几种不同的格式。 我几乎所有的写作都使用 Markdown 语法,但我经常需要转换为另一种格式:学校作业通常需要 .docx 文件,我创建的网页需要 .html – 以及 .epub 工作,.pdf 用于传单和讲义,甚至是偶尔用于大学数字人文项目的 TEI Simple 文件。 Pandoc 可以轻松处理所有这些,甚至更多。

首先,你需要 安装 pandoc. 此外,要创建 .pdf 文件,还需要 LaTeX。 我喜欢的包是 特克斯直播.

笔记:如果你想在安装之前试用 pandoc,有一个在线试用页面: https://pandoc.org/try/

安装 pandoc 和 texlive

Ubuntu 和其他 Debian 发行版的用户可以在终端中键入以下命令:

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

注意第二行,您一次性安装 pandoc 和 texlive。 apt-get 命令对此没有问题,但是去喝杯咖啡吧; 这可能需要几分钟的时间。

开始转换

一旦安装了 pandoc 和 texlive,您就可以完成一些工作!

该项目的示例文档将是一篇于 1894 年 12 月首次发表在北美评测上的文章,标题为:“怎样击退火车劫匪”。 我将使用的 Markdown 文件是前一段时间创建的,作为恢复项目的一部分。

文件: how_to_repel_train_robbers.md 位于我的 Documents 目录中,位于名为 samples 的子目录中。 这是 Ghostwriter 中的样子。

Ghostwriter 中的 Markdown 文件

我想创建此文件的 .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 文件创建后的快照:

在 Ocular 中查看的转换后的 PDF 文件

第二次转换

接下来,我想创建一个 .docx 文件。 该命令与我用来创建 .pdf 的命令几乎相同,它是:

pandoc -o htrtr.docx how_to_repel_train_robbers.md

很快,就会创建一个 .docx 文件。 这是在 Libre Writer 中的样子:

在 Libre Writer 中查看的转换后的 DOCX 文件

第三次转换

我可能想在网上发布这个,所以网页会很好。 我将使用以下命令创建一个 .html 文件:

pandoc -o htrtr.html how_to_repel_train_robbers.md

同样,创建它的命令与最后两次转换非常相似。 这是 .html 文件在浏览器中的样子:

转换后的 HTML 文件查看 Firefox

注意到什么了吗?

让我们再看看过去的命令。 他们是:

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 或更多文件。 您的读者选择、运行正确的转换脚本,然后您的读者下载他们的文件。 可以办到。