难道我们不应该生活在一个无纸化的世界里吗?
我不可能是一个人想象过未来的办公室,摆脱了八乘十一英寸纸张(或者对于我的国际朋友来说是 A4 纸)的束缚,并且早就应该到来了。相反,我们设法落入了一种非无纸化但少纸化的中间状态。
情况可能会更糟。
在可靠的扫描仪、电子邮件和各种其他通信工具之间,以及在组织我的数字档案方面变得非常出色,我对我们今天的处境并不完全不满意。而且我偶尔会承认读纸质书、寄明信片,或者(天哪)打印一些东西给别人。
在世界进一步远离纸张之前,适合打印的文件格式将继续渗透到我们的数字领域。而且,不管你喜欢与否,PDF,“便携式文档格式”,似乎是创建和共享适合打印的文件以及归档源于打印的文件的首选格式。
多年来,处理 PDF 文档的唯一选择是 Adobe Acrobat,无论是免费的阅读器版本还是用于 PDF 创建和编辑的付费版本之一。但是今天,有许多开源 PDF 应用程序已经蚕食了这种市场主导地位。对于像我这样的 Linux 用户来说,无论如何,专有应用程序只能在 Windows 或 Mac 上运行,这不是一种选择。
由于 PDF 文件在如此多不同的情况下用于如此多不同的目的,您可能需要货比三家才能找到满足您确切需求的 Adobe Acrobat 开源替代方案。以下是一些我喜欢的工具。
阅读 PDF
对于阅读 PDF 文件,现在很多人无需使用外部应用程序就可以应付。 Firefox 和 Chromium(谷歌 Chrome 浏览器的开源版本)都捆绑了浏览器内置的 PDF 阅读器,因此对于大多数用户来说,不再需要外部插件。
对于下载的文件,基于 GNOME 的 Linux 发行版的用户可以使用 Evince (或 GNOME 2 分支 MATE 上的 Atril),这是一个功能强大的 PDF 阅读器,可以轻松快速地处理大多数文档。 Evince 也有 Windows 端口,尽管 Windows 用户可能还想看看 GPLv3 许可的 SumatraPDF 作为替代方案。 KDE 的 Okular 用作 Plasma 桌面的 PDF 阅读器。所有这些都能够完成 PDF 表单、查看和添加评论、搜索文本、选择文本等等。
对于通用、简单且快速的 PDF 阅读器,请尝试 xpdf。
创建 PDF
就我个人而言,LibreOffice 的导出功能最终成为我创建的 95% 的 PDF 文件的来源,这些 PDF 文件不是由 Web 应用程序为我构建的。Scribus、Inkscape 和 GIMP 都支持原生 PDF 导出,因此无论您需要制作哪种文档——复杂的布局、格式化的文本、矢量或栅格图像,或某种组合——都有一个开源应用程序可以满足您的需求。
对于几乎所有其他应用程序,CUPS 打印系统在将文档输出为 PDF 方面做得非常出色,因为打印机和 PDF 都依赖 PostScript 来表示页面上的数据(无论页面是数字的还是物理的)。
如果您不需要花哨的图形界面,您也可以通过纯文本和一些方便的终端命令生成 PDF。每个人都有自己喜欢的,但可能最受欢迎的是 Pandoc,它可以接受几乎任何文档格式并将其转换为几乎任何其他格式。它翻译文本格式的能力令人震惊,因此它可能就是您真正需要的全部。但是,还有其他几种解决方案,包括 Docbook、Sphinx 和 LaTeX。
编辑 PDF
编辑是一个含义丰富的术语。对于某些人来说,编辑 PDF 意味着更改几个词或用新图像替换旧图像,而对于另一些人来说,它意味着更改元数据,例如书签,而对于另一些人来说,它意味着操作页面顺序或调整打印分辨率。没有人想要的权威答案是:不要编辑 PDF,编辑源文件,然后导出新的 PDF。但这并不总是可能的,幸运的是,有一些很棒的工具可以实现各种编辑。
LibreOffice Draw 在编辑 PDF 文件方面做得非常出色,让您可以完全访问文本和图像。这里有一些注意事项,因为 PDF 格式的灵活性。如果您没有安装 PDF 中使用的字体,则文本的排版可能会因字体替换而发生变化。如果 PDF 是从扫描件创建的,那么您将只有文本图像,而不是可编辑的文本。
Inkscape 在打开其他地方创建的文档方面也做得很好,如果您的文档以图形为主,那么它可能是一个更直观的选择。如果您没有安装字体,Inkscape(通过 Poppler 渲染器)可以描摹字符,以便即使没有实际的字体数据也能保持文本的外观。当然,这会丢失文本数据(您只有字母的形状,而不是可选择的文本本身),但当外观最重要时,这是一个不错的功能。
还有一些独立的工具,例如 GPLv2 许可的 PDFedit,但我使用 Inkscape 和 LibreOffice 的效果非常好,以至于近年来我没有必要使用单独的编辑器。
如果您的编辑任务更多的是关于演示而不是内容,您可能会发现 pdftk-java (PDF 工具包) 命令很有用。它可以提取和注入书签元数据、重新排列和连接页面、将多个 PDF 合并为一个、拆分 PDF 等等。如果您还不习惯终端,PDFSam 具有许多类似的功能,但包括图形界面。
最后,您可以使用 GhostScript 命令 gs 直接调整 PostScript 属性。GhostScript 是 PostScript 的开源解释器,因此您可以使用它执行非常低级的任务,例如将一种字体替换为另一种字体,或调整图像的分辨率,或完全删除图像。
这些基于终端的工具也非常适合自动化操作。
我们知道这些不是唯一的选择。您是否处理大量 PDF 文件?您是否有喜欢的应用程序来帮助您?请在下面的评论中告诉我们您使用什么以及它为何对您有效。
您是否有兴趣阅读更多类似的文章?注册我们的每周电子邮件新闻通讯。
编者注:本文最初于 2016 年发布,现已更新。
33 条评论