我可以从Win7打印驱动程序生成的PostScript文件中提取文本,但不能从Win8中提取文本。
例如,在Windows“记事本”中创建一些文本,告诉记事本使用HP PostScript打印驱动程序进行打印,并告诉打印驱动程序输出到文件,我获取了一个文件,然后我想从中提取文本
我在Ubuntu平台上尝试了Ghostscript的ps2ascii
和pstopdf | pdftotext
以及其他一些东西,虽然其中一些在Win7输出上工作,但我找不到任何可用于Win8输出。
是否有开源解决方案?
答案 0 :(得分:1)
您不能保证从任何PostScript程序中获取文本,而不是为此设计的。
然而,Ghostscript的txtwrite设备将在Windows PostScript打印机驱动程序的输出上做得不错。它比ps2ascii好得多,因为(除其他外)它可以处理Unicode,所以它不限于ASCII。
请注意应用程序可能自己生成PostScript,因此即使输出出现来自Windows PostScript打印机驱动程序,实际内容也可能由应用程序生成。
如果应用程序实际将文本写入设备上下文,您也只能从Windows PostScript打印机驱动程序中获取文本。例如,如果您从Edge浏览器打印PDF,那么您将在输出中获得文本。如果您在同一系统上从Chrome打印相同的PDF,则文本将呈现为矢量(即线,弧,笔划填充等)而不是文本。
请注意,在一般情况下,您尝试做的事情不会100%成功。