2013-04-25 63 views
0

当我打印的PDF文件,一个PS-驱动程序,然后将PS文件转换成可搜索的PDF打印机与ghostscript(pdfwrite设备)最终的PDF文件有问题。它变得腐败。 在某些情况下,空格字符会消失,而在其他情况下,文本宽度会变得太大,以致文本与文本重叠。打印文件(PDF)与PS驱动程序,抢PS文件,并转换为可搜索的PDF使用Ghostscript

为GS的设置是-dNOPAUSE -dBatch -sDEVICE = pdfwrite -dEmbedAllFonts =真-dSubsetFonts =假-sOutputFile =输出.pdf input.ps

我想知道,如果它是Ghostscript的程序都无法产生输入文件为pdf时输出良好。 如果我打印一个单词文档,一切正常!

是否有像使用XPS驱动器和转换XPS文件到一个可搜索的PDF,而不是任何其他解决办法?有没有可以做到这一点的解决方案?

我使用gs 9.07。

问候 乔

回答

3

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

这只是增加了更多的困惑,它肯定不会添加任何有用的东西。

它不可能说什么问题“可能”是没有看到原始的PDF文件,并通过驱动程序生成的PostScript文件。我的猜测是,任何处理PDF的应用程序都没有嵌入字体,或者PostScript驱动程序无法将字体转换为适合PostScript的字体,导致字体在输出中丢失,并且pdfwrite设备不得不用'别的'来替代丢失的字体。

Ghostscript的(更准确地pdfwrite设备)是完全有能力当输入为PDF生成一个体面的PDF文件,但您的输入不是PDF,它的PostScript!老实说,如果您的原始PDF文件不是'可搜索的',那么pdfwrite生成的PDF文件将不是那么可能,无论您是使用原始PDF还是将其转换为PostScript。

通常的原因PDF文件不是“搜索”是因为没有ToUnicode信息和字体编码使用自定义编码和DEOS不使用标准字形名。如果是这种情况,除了OCR之外,您无法使用PDF文件进行处理。

+0

的原因是因为我有这台打印机从用户接受文件,它不知道他们是不是打印Word或PDF文件,并始终将其转换成PostScript(因为PS驱动程序)。我不必使用PS,但是稍后我想要创建PDF时,似乎这是最好的。 最初的pdf是可搜索的,但我现在只是看到他们有字体,当我使用acrobatreader时说“嵌入子集”,可能会造成问题? – Joe 2013-04-25 13:52:49

+0

可能是的。我猜想原始文件有ToUnicode CMaps,它将文本转换为Unicode。 PostScript中没有相应的功能,因为PostScript旨在用于打印,因此了解Unicode等效功能并无帮助。因此,当您打印到PostScript时,此信息将被丢弃。如果字体使用非标准编码(非常可能与子集字体),那么基本上你已经失去了可搜索性。尝试直接转换PDF文件作为测试,我期望它会起作用。恐怕您的工作流程存在缺陷。 – KenS 2013-04-26 07:24:20

+0

是否有任何其他方式从打印机抓取文件并将其转换为pdf格式? (不管输入是什么(word或pdf))。 是否有打印机驱动程序不对文件做任何事情?那么我可能会看到该文件是否为pdf,并且不进行转换并直接发送。 – Joe 2013-04-29 14:15:59