使用 Ghostscript 将可搜索的 PDF 转换为可搜索的 PDF/A

Posted

技术标签:

【中文标题】使用 Ghostscript 将可搜索的 PDF 转换为可搜索的 PDF/A【英文标题】:Convert a searchable PDF to searchable PDF/A using Ghostscript 【发布时间】:2015-08-04 17:36:30 【问题描述】:

我正在使用 Ghostscript 通过命令行将 PDF 转换为 PDF/A:

gs -dPDFA -dBATCH -dNOPAUSE -sProcessColorModel=DeviceCMYK -sDEVICE=pdfwrite -sPDFACompatibilityPolicy=1 -sOutputFile="output.pdf" input.pdf

但输出文件丢失了可搜索的文本属性。

如何获得可搜索的 PDF/A 文件作为输出?

谢谢。

【问题讨论】:

【参考方案1】:

您没有提供要查看的输入文件,也没有提及您使用的是哪个版本的 Ghostscript。

让我从我关于这个主题的标准讲座开始;当您将 PDF 文件作为输入并使用 Ghostscript 的 pdfwrite 设备生成新的 PDF 文件时,您“转换”、“编辑”或“修改”输入文件。

PDF 解释器会解释 PDF 文件,并生成一系列图形基元,然后将其提供给图形库。然后处理这些原语,并将它们传递给设备。然后设备将它们发送到输出文件。在渲染设备(例如 TIFF)的情况下,它将操作渲染到位图,当它到达文件末尾时,它将位图作为文件写入。在 pdfwrite 的情况下,它将这些原语重新组合成一个全新的 PDF 文件。

所以输出的 PDF 文件与输入的 PDF 文件没有任何共同之处,除了它的外观。

这种方法有缺点(它确实限制了我们保留输入文件的一些非打印方面),但也有优点;例如,它允许我们改变色彩空间、展平透明度、更改字体编码等。

除此之外,您还选择创建 PDF/A 文件。 PDF/A 限制了 PDF 规范的可用功能,并且可能(如果不查看原始文件就无法判断)根本不可能在不改变某些方面的情况下将原始 PDF 文件表示为 PDF/A 文件。

再一次,我可以说没有看到原始文件,但可能是您根本无法实现您想要的,或者至少没有使用 Ghostscript。

【讨论】:

实际上,一些输入文件返回正确(正确意味着想要)输出。我意识到我的问题出现在使用 DOMPDF 通过 html 到 PDF 过程制作的输入 PDF 上。我将继续研究它并进行测试。感谢关注。

以上是关于使用 Ghostscript 将可搜索的 PDF 转换为可搜索的 PDF/A的主要内容,如果未能解决你的问题,请参考以下文章

Ghostscript.NET.dll 打印pdf到指定打印机

ghostscript 或 python:如何将不同页面大小的 pdf 组合成相同页面大小的 pdf?

PDF 上的 Ghostscript 邮票图像

使用 Ghostscript 分割 PDF

使用 GhostScript 打印 PDF

奇怪的问题,ghostscript 和 pdf 文件