

使用 Pandoc 转换文件格式
source link: https://os.51cto.com/article/712981.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.


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
请注意第二行,你将一次性安装 pandoc 和 texlive。apt-get 命令 支持你这样做。不过,我建议你先去喝杯咖啡,因为这可能需要几分钟的时间。
安装完成 pandoc 和 texlive 后,你就可以尝试用它们来完成一些工作了!
该项目的示例文档将是一篇文章,该文章于 1894 年 12 月首次发表在《北美评论》上,标题为“如何击退火车劫匪”。我将使用的 Markdown 文件是前一段时间创建的,该文章的一个恢复项目的一部分(LCTT 译注:这是篇一百多年前发表的文章,这是一个数字化“恢复”项目)。
我把这篇文章保存为 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 文件在浏览器中的样子:

在 Firefox 中查看的转换后的 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 或更多格式。你的读者只需要选择一种格式,然后对应的转换脚本就会执行,最后,你的读者下载他们想要的文件。这是完全可以做到的。
Recommend
-
15
ubuntu下转换支持ipod/iphone格式的mp4视频文件 2011-01-07 本来ubuntu下有强大的ffmpeg,转换视频不是什么问题,但要转换成支持ipod/iphone格式的H.264视频就有问题了,因为由于版权原因,ffmpeg默认没有安装libf...
-
18
使用 Java 转换 Apache Avro 为 Parquet 数据格式 2021-02-23 — Yanbin Avro 和 Parquet 是处理数据时常用的两种编码格式,它们同为 Hadoop 大家庭中的成员。这两种格式都是自我描述的,即在数据文件中带有 Schema。Avro 广泛的应用于数...
-
10
使用 Java 转换 Apache Avro 为 Parquet 数据格式(依赖更新) 2021-02-25 — Yanbin 在上篇 使用 Java 转换 Apache Avro 为 Parquet 数据格式
-
16
把YOLO标注文件转换为COCO格式 Enoch2090 2021-01-06 实验室之前用的模型是基于Darknet的YOLO。这两天需要试一些其它模型,所以我准备给标注文件做个格式转换。网上找了半天都找不到个给人用的
-
13
pandoc转换带图片的docx到markdown | Landon's Blog Landon's Blog 人的精神思想方面的优势越大,给无聊留下的空间就越小。 ...
-
6
文档格式转化神器pandoc 2015-11-23 工具
-
5
pandoc 标记语言转换工具 Pandoc 是使用 Haskell 语言编写的一款跨平台、自由开源及命令行界面的标记语言转换工具,可实现不同标记语言间的格式转换,...
-
10
转换GenBank文件为tbl格式,为提交注释做准备 2022-06-16...
-
7
如何使用 Java 将图像文件转换为 GIF 或 WebP 格式 作者:qaseven 2022-11-01 16:20:56 了解如何将数十种常见的图像文件类型(包括但不限于 PNG 和 JPG)分别转换为 GIF 和 WebP 格式。 了解如何将数十...
-
2
WebP介绍WebP是一种现代的图像格式,由Google开发。它使用无损压缩和有损压缩算法,可以提供更高的压缩率和更好的图像质量,相比于JPEG和PNG格式。WebP格式支持透明度、动画和多帧图像,适用于网页和移动应用的图像显示。同时,WebP格式也具有更快的加载速...
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK