GNU/Linux 上使用 PDF 指南
尽管 GNU/Linux 长期以来都支持 postscript 格式,但对相关 PDF 文件格式的全面支持却姗姗来迟。然而,今天,PDF 支持终于开始与在其他操作系统上可用的功能相媲美。无论您是打印、编辑还是查看 PDF 文件,现在您都可以在命令行和桌面环境中选择各种应用程序。
以下并非详尽的选择列表,而是对主要可用工具的调查。总而言之,它们应该足以满足您的大部分 PDF 需求。
打印到 PDF
GNU/Linux 提供了几种生成 .PDF 文件的选项。在命令行中,您可以使用 ps2pdf,这是一个与 Ghostscript 捆绑在一起的脚本。顾名思义,ps2pdf 将 postscript 文件转换为 .PDF 格式。您可以通过设置 postscript 打印机以打印到文件(您实际上不需要物理打印机)在任何应用程序中将文件转换为 postscript。从那里,您只需要输入命令 ps2pdf <input.ps> <output.pdf>
。如果您不想更改输出文件的路径或名称,则可以完全省略它,以生成与 postscript 输入文件同名但扩展名为 .pdf 的文件。
在桌面上,您可以为 KDE 感知应用程序(如 KWord)使用“打印到文件 (PDF)”,在应用程序中将其选作打印机。一个更通用的解决方案是 CUPS-PDF 驱动程序,您可以将其设置为 CUPS 打印机。对于 CUPS-PDF,使用设备 URI cups-pdf:/
,并从制造商列表中选择“Generic”,从型号列表中选择“Postscript”。CUPS-PDF 的所有输出都将输出到您主目录的子文件夹中,该子文件夹与您设置的打印机同名。
然而,所有这三种解决方案都远未达到其他操作系统可用的全部功能。如果您想要更好地控制您生成的 PDF 文件,更好的选择是 OpenOffice.org 的“文件”->“导出为 PDF”,尤其是在安装了 extendedPDF 插件的情况下。此选项使您可以控制图像压缩、书签、表单、默认视图和安全选项 —— 几乎所有内容,除了字体嵌入,字体嵌入默认启用(此选项简化了不同计算系统之间文件的共享)。主要的缺点是,这种组合生成的 PDF 文件平均比 CUPS-PDF 生成的文件大三分之一左右。否则,它允许的控制程度应该使其成为 PDF 生成的首选方法。
编辑 PDF
当您有一个需要编辑的现有 PDF 文件时,任何平台上最快的解决方案是在源文件中进行更改并生成新文件。但是,如果您没有源文件,则至少有两个选项。
在命令行中,pdftk 提供了各种功能。使用 pdftk,您可以拆分、合并、解密、加密 PDF 文件,以及填写表单、旋转页面、添加水印或编辑元数据。在某些情况下,您甚至可以修复损坏的文件。pdftk 的一个缺点是,它涉及在文本模式下编辑基本上是图形文档的内容。因此,即使您在查看器中打开了要编辑的文件副本,使用 pdftk 进行编辑通常也可能是一个挑战。
对于许多人来说,更实用的解决方案是 PDFedit。尽管仍处于早期开发阶段,但 PDFedit 具有 pdftk 的许多功能。更重要的是,它允许您编辑单个字符。这种能力非常缓慢,并且限制在约 50 个字符的缓冲区内。它也不适合一次编辑超过一行,这将需要对文档进行大规模的重新格式化。尽管如此,即使是 Adobe Acrobat 本身也没有提供更好的 PDF 字符编辑功能,并且即使在其当前版本中,PDFedit 也是 PDF 工具包的一个受欢迎的补充。在它和 pdftk 之间,GNU/Linux 用户应该能够至少在功能方面与其他操作系统的用户达到大致对等的水平 —— 不幸的是,便利性仍然难以捉摸。
查看 PDF
PDF 查看器比 PDF 生成器或编辑器更容易实现,因此 GNU/Linux 有许多 PDF 查看器。对于那些不反对使用非自由软件的人来说,Adobe 发布了适用于 Linux 7.0 的 Adobe Acrobat Reader,它与其他操作系统的阅读器相当,并允许查看器查看书签和元数据。
可用的免费查看器良莠不齐。gv 和 xpdf 都显示 PDF 文档的页面,并包括用于更改放大倍数和导航文档的标准选项。但是,两者都不显示缩略图、书签或元数据。由于 GNOME 的 Evince 和 KDE 的 KPDF 都可以显示所有三者,因此两者中的任何一个通常都是免费查看的更好选择 —— 大约十分之九的情况下是这样。然而,偶尔,gv 或 xpdf 会设法读取 Evince 或 KDPF 无法读取的 PDF 文件。无论这种功能差异的原因是什么,这都意味着您至少应该将所有选择都记在脑海中,即使您不想安装每个免费查看器,以防万一您需要它。
结论
GNU/Linux 上的 PDF 支持仍然存在一些差距。尽管如此,与几年前相比,它已经有了巨大的改进,直到今天,它正在迅速接近其他平台上发现的功能。在大多数情况下,现在的挑战与其说是找不到您需要的工具,不如说是在搜索过程中在各种 shell 和桌面界面之间切换。像 Adobe Acrobat 这样具有或多或少通用界面的单一程序套件将极大地改善普通用户的状况。
然而,那是未来需要解决的挑战。目前,重要的是,只要有一点灵活性和创造力,您就可以认为 GNU/Linux 功能方面长期存在的差距已接近弥合。
Bruce Byfield 是一位计算机记者,他定期为 NewsForge、Linux.com 和 IT Manager's Journal 撰稿。