我们现在不应该生活在一个无纸化的世界里吗?
我不可能是唯一一个想象过未来办公室的人,它将摆脱 8.5 x 11 英寸纸张(或者对于我的国际友人来说是 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 ToolKit) 命令很有用。 它可以提取和注入书签元数据、重新排列和连接页面、将多个 PDF 合并为一个、拆分 PDF 等等。 如果您还不习惯终端,PDFSam 具有许多类似的功能,但包括图形界面。
最后,您可以使用 GhostScript 命令 gs 直接调整 PostScript 属性。 GhostScript 是 PostScript 的开源解释器,因此您可以使用它执行非常底层的任务,例如将一种字体替换为另一种字体,或调整图像的分辨率,或完全删除图像。
作为基于终端的工具,这些也是用于自动化操作的绝佳工具。
我们知道这些不是唯一的选择。 您是否处理大量 PDF? 有没有喜欢的应用程序可以帮助您? 请在下面的评论中告诉我们您使用什么以及它对您有何作用。
您是否有兴趣阅读更多类似的文章? 注册我们的每周电子邮件新闻通讯。
编者注:本文最初发表于 2016 年,并已更新。
33 条评论