如何在Linux中轻松转换文档格式

经常提到的切换到Linux的问题之一是文件兼容性。您将始终向其他操作系统文件的用户发送文件,并且在Word之类的应用程序中打开文件时,它们看起来不会相同。虽然您可以安装字体或尝试使用VM或仿真器来确保外观保持一致,但另一种方法是以纯文本格式进行工作,然后在完成后进行转换。

Pandoc是可用于在格式之间进行转换的一种工具,它是任何Linux用户工具箱中必不可少的工具。

基本Pandoc的安装和使用

在大多数Linux发行版上安装pandoc只需轻松访问存储库。在基于Ubuntu的系统上,以下命令将为您安装它:

sudo apt-get install pandoc

一旦安装,您就可以开始使用命令行程序转换文件了。如果您有一个 .MD 文件,则可以很好地处理Markdown和其他轻量级标记语言,可以使用以下文件将其转换为HTML:

pandoc -o myfile.html myfile.md

- o 标志告诉您所需的输出文件的名称。在这种情况下,它还通过文件扩展名推断输出格式(HTML)。您可以使用 -r (用于 read )和 -w (用于 write )标记来告诉pandoc您想要的转换类型。假设您习惯于使用Markdown进行编写,但是需要在基于Mediawiki的页面上发布一些内容:

pandoc -r markdown -w mediawiki -o markdown.wiki markdown.md

在早期版本中,pandoc专注于“升级"文件,因为它可以转换较简单的格式(例如Markdown)到更复杂的格式(例如ODT或Microsoft的DOCX)。但是现在它也会阅读这些更复杂的格式。这意味着,如果您习惯了文字处理程序,但由于种种原因而想使用更小,更便于携带的纯文本格式,则变得更加容易。

给出一个包含Word文件的目录,以下命令会将它们分别转换为Markdown:

for file in *do pandoc -r docx -w markdown -o "$file".md "$file"done

请注意,这将留下名为 filename.docx.md 的文件,因此您需要运行快速重命名命令(或者更好的是,将其作为shell脚本添加到上面)。

Pandoc命令行选项

现在您已经掌握了一些基础知识,我们来看一下在pandoc的命令行选项中有一些更高级的选项。

假设您已将所有旧的笨重的字处理器文件转换为Markdown。当您享受纯文本创作的乐趣时,有时需要与他人共享这些内容。而且某人可能不像您那样开明。您可以简单地反转 read write 标志以将文件转换回Word格式:

pandoc -r markdown -w docx -o wordfile.docx wordfile.md

但是有些人喜欢他们的Word文件带有特定的字体Pandoc的 DOCX 后端在这种情况下支持称为参考文件的模板文件。这些是您使用所需的所有样式设置的 ODT DOCX 文件。然后,如果您在命令行中将参考文件传递给了pandoc,则pandoc会在转换时应用这些样式:

Notice how the fonts configured in the reference file above (Arial Black for Heading 1, etc.) display in the converted file below. You can create as many of these reference files as you need (for example, one per client). Then ignore formatting entirely while you’re writing, and apply the styling in one step as you convert.

一旦安装了必要的软件包,创建PDF也是一个简单的练习。获得PDF编写功能的一种轻巧的方法是安装 wkhtmltopdf 软件包,这是一个将HTML转换为PDF的命令行工具。 pandoc本机支持此功能,因此,如果将 write 标志设置为HTML,但将输出文件设置为PDF,它将解释为您使用 wkhtmltopdf 本身!

pandoc -r markdown -w html -o nicepub.pdf nicepub.md

或者,您可以使用TeTex排版系统使用功能齐全的选项。通过以下命令重新安装,以利用这些软件包对于pandoc软件包的建议安装为建议安装

sudo apt-get install --install-suggests pandoc

然后,坐一会儿(真的,很多)的软件包安装。完成后,您可以通过将其指定为 write 标志来将文件直接转换为PDF:

pandoc -r markdown -w pdf -o nicepub-tetex.pdf nicepub.md

wkhtmltopdf 选项需要如果只安装一个软件包,TeTex可以使打印结果更加友好。即,默认情况下使用衬线字体,并且页面会自动编号。

最后,pandoc可以将文件转换为适合在手机或电子阅读器上阅读的电子书。 epub epub3 后端将为您提供格式正确的电子书:

pandoc -r markdown -w epub -o mybook.epub mybook.md

高级技巧

pandoc的优点超越了它作为命令行工具的功能……例如,它包括对Markdown改进版本的支持,并且可以轻松地与图形应用程序集成。

除了作为转换工具之外,pandoc还支持Markdown的风味略有增强。通过使用pandoc而不是标准的 markdown 命令,您可以使用一些附加功能,包括以下功能:

  • 元数据-Pandoc的Markdown风格使您可以在文档的标题中包含作者,日期,电子邮件地址等信息。
  • 文本修饰-您可以应用文本修饰符,例如删除线或上标/下标
  • 表格不支持标准Markdown。
  • 表格 –与“普通" Markdown相比,仅此一项就使pandoc值得。使用竖线字符分隔表格单元格,您可以创建一个表格,该表格的范围从真正的丑陋到纯文本以及呈现格式的人类可读内容。
  • 花式列表-Pandoc允许您使用大纲样式级别格式化列表,例如“ 1。",“ A。",“ i。"等。您还可以指定列表的起始编号,其中纯Markdown中的列表从“ 1"开始。
  • 代码语法突出显示-通过告诉pandoc语言是什么,可以将突出显示应用于代码块。
  • 以上仅是pandoc Markdown功能的一部分。请访问pandoc.org上的手册页,以获得Markdown风格提供的其他功能的完整列表。

    尽管pandoc作为命令行工具有效,但它包含许多选项。如果您不熟悉Linux,则可能更喜欢将pandoc与GUI界面结合使用。尽管默认情况下它不包含图形界面,但是您可以安装 PanDocElectrion 来通过点击转换您的文档。从应用程序的网站下载安装脚本,然后运行它以安装所有必需的程序包和程序本身。

    安装完成后,中的 npm start 命令PanDocElectron 目录将启动该应用程序。借助格式下拉列表以及使用对话框选择输入文件的功能,这将帮助您习惯Pandoc的“输入和输出"。

    如果您感到舒适的话带有pandoc的众多选项和标志,但只想轻松地调用的方法,就可以将其与GUI文本编辑器集成。例如,Atom编辑器包含许多软件包,这些软件包提供了使用pandoc将当前文件保存为不同格式的能力(软件包pandoc-convert):

    另一种选择是使用编辑器的内置功能,例如build命令。 Atom的 build-tools 软件包使您能够指定自定义命令:

    然后,您可以在与pandoc兼容的文件上调用build命令,就像在源代码上一样代码:

    Pandoc消除了切换带来的压力

    有了pandoc,您可以放心使用,因为您始终可以将文档以其他格式接收给他人需要。同时,您可以利用Linux的一些强大功能(考虑尝试使用像 vim 这样的基于终端的文本编辑器)。

    您是否经常发现自己在格式之间来回转换文件?如果您遇到兼容性问题,请在评论中告知我们,我们将看看是否可以使用pandoc对您进行分类!

    图片来源:Nirat。通过Shutterstock.com获得pix

    标签: 文件转换 降价