我将 GS 与 DjVu 驱动程序一起使用,如下例所示:
gs %gs_args% -dProvideUnicode -dExtractText -sDEVICE=djvusep -o out.sep in.ps
并注意到问题,即某些文件的文本未正确提取(我在从生成的文件中复制文本时在剪贴板中得到问号)。
我认为这是编码的一些问题,并删除了-dProvideUnicode
开关,但是根本没有提取文本,并且我认为-dExtractText
仅针对此驱动程序的标志需要它才能正常运行。
尝试运行单页 PDF 文件(in.ps
通过ps2write
设备生成),ps2ascii
也没有给出任何文本。但其他工具,如 pdfminer、xpdf,可以提取正确的文本。PDF 查看器(如使用mupdf
或 Acrobat 的 SumatraPDF)也可以按预期提取文本。
有没有人可能对这些无证开关有所了解,这可能是什么问题?
更新:只有当我通过ps2write
路线时才会发生这种情况。相反,如果我直接使用 PDF,则没有问题。
这是 PDF 文件中的编码信息:
c:\temp>pdf-parser -s encoding sample.pdf
obj 11 0
Type: /Font
Referencing: 12 0 R, 20 0 R
<<
/BaseFont /XQKNMY+TT14112O00
/FontDescriptor 12 0 R
/Type /Font
/FirstChar 32
/LastChar 144
/Widths [
253 0 0 0 0 0 0 0 293 293 0 0 220 313 220 0
0 467 467 0 0 0 467 0 467 467 0 0 0 0 0 0
0 680 0 0 0 653 0 773 760 0 0 740 0 833 0 0
0 0 0 480 613 0 680 0 0 0 0 0 0 0 0 0
0 407 513 414 500 414 320 447 513 227 0 467 227 773 513 513
513 0 333 367 293 487 467 667 460 414 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
220]
/Encoding 20 0 R
/Subtype /Type1
>>
obj 20 0
Type: /Encoding
Referencing:
<<
/Type /Encoding
/BaseEncoding /WinAnsiEncoding
/Differences [
144/quoteright]
>>