如何在 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中国荣誉推出

(0)

相关推荐

  • 如何在Linux中安装Redis服务器

    Redis服务器是一种非关系型数据存储服务器,它经常和Linux系统搭配使用.那么如何在Linux系统中安装Redis服务器呢?下面小编给大家分享一下. 操作方法 01 首先我们运用tar命令解压re ...

  • 如何在Linux中解压文件

    这篇文章将介绍如何在Linux系统中使用终端命令行来解压压缩文件. 解压一个文件夹 01 找到压缩文件夹.请打开文件夹所在的目录路径.例如,如果它位于文档目录下,请打开"文档"文件 ...

  • 如何在Linux中安装JDK?

     在Linux中安装JDK,过程如下: 1. 先从网上下载jdk,下载后放在/home目录中,当然其它地方也行。 进入安装目录 #cd /home #cp jdk-1_6_0_03-linux-i58 ...

  • 如何在Linux中使用date命令修改日期时间

    Linux中可使用date命令查看修改日期及时间,本例中以CentOS6为例说明. 在Linux中使用date命令修改日期时间 01 直接输入"date"可查看当前系统日期及时间( ...

  • 如何在Linux中more命令查看文本文档

    最近在Linux中进行操作,在查看一些大的文本文档时,用cat .more等命令可以提高我们的查看效率,下面和大家分享下不同命令带来的不同效果. more a.txt cat  b.txt tail ...

  • 如何在Linux中配置屏幕软键盘

    在Linux中安装好软键盘Florence之后,只需要几个简单的命令就可以加载屏幕键盘使用了,如何安装已经有经验讲述了,,一般默认的情况都是屏幕键盘在窗口的顶部. 操作方法 01 首先按照自己的想法进 ...

  • 如何在 Linux 中配置使用 SSD

    当我在运行 Linux 的计算机上安装我的第一块固态驱动器(SSD)后,我开始探索如何用好它们.SSD 在操作方式上与传统磁性驱动器不同,并且它们需要在软件上另行处理以达到功能优化. 操作方法 01 ...

  • 如何在Linux中添加一块大于2TB的新磁盘?

    你有没有试过使用 fdisk 对大于 2TB 的硬盘进行分区,并且纳闷为什么会得到需要使用 GPT 的警告? 是的,你看到的没错.我们无法使用 fdisk 对大于 2TB 的硬盘进行分区. 在这种情况 ...

  • 教你如何在excel中快速行列转换

    有时候我们常常会遇到将一行的数据黏贴到一列,手动每个都黏贴的话大大增加了我们的工作负担.小编这里有诀窍! 操作方法 01 行列的转换就是一行的数据可以转换成一列.如图所示. 02 首先就是打开表格,选 ...

  • 如何在linux中mount FREEBSD分区

    挂接(mount)命令的使用方法. 命令格式: 复制代码 代码如下: mount [-t vfstype] [-o options] device dir 其中: 1.-t vfstype 指定文件系 ...