使用 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到指定打印机