使用PS驱动程序将文件(pdf)打印到打印机,获取PS文件并使用ghostscript转换为可搜索的pdf

时间:2013-04-25 12:10:20

标签: pdf ghostscript postscript

当我使用PS驱动程序打印PDF文件,然后使用ghostscript(pdfwrite device)将PS文件转换为可搜索的PDF时,最终的pdf文件出现问题。它变得腐败。 在某些情况下,空格字符会消失,而在其他情况下,文本宽度会变得太大,因此文本会重叠文本。

gs的设置是-dNOPAUSE -dBatch -sDEVICE = pdfwrite -dEmbedAllFonts = true -dSubsetFonts = false -sOutputFile = output.pdf input.ps

我想知道当输入文件是pdf时,是不是只能生成良好输出的ghostscript。 如果我打印一个文档文档一切正常!

是否还有其他解决方案,例如使用xps-driver并将xps文件转换为可搜索的pdf?有什么解决方案可以做到吗?

我使用gs 9.07。

祝你好运 乔

1 个答案:

答案 0 :(得分:3)

为什么要完成将PDF文件打印到PostScript文件的步骤? Ghostscript已经能够接受PDF文件作为输入。

这只会增加更多的混淆,它肯定不会添加任何有用的东西。

如果没有看到原始PDF文件和驱动程序生成的PostScript文件,就不可能说出问题的原因。我的猜测是,无论处理什么应用程序,PDF都没有嵌入字体,或者PostScript驱动程序无法将字体转换为适合PostScript的字体,导致输出中缺少字体,以及pdfwrite设备必须用“别的东西”代替丢失的字体。

Ghostscript(更准确地说是pdfwrite设备)完全能够在输入为PDF时生成一个像样的PDF文件,但你的输入不是PDF,它的PostScript!

说实话,如果你的原始PDF文件不是“可搜索的”,那么pdfwrite生成的PDF文件也不太可能,无论你是使用原始PDF还是将其变成PostScript。

PDF文件不能“搜索”的常见原因是因为没有ToUnicode信息,并且字体使用自定义编码进行编码,而且不使用标准字形名称。如果是这种情况,除了OCR之外,您无法对PDF文件做任何事情。