この例のように、DjVu ドライバーで GS を使用します。
gs %gs_args% -dProvideUnicode -dExtractText -sDEVICE=djvusep -o out.sep in.ps
一部のファイルではテキストが正しく抽出されないという問題に気付きました (生成されたファイルからテキストをコピーすると、クリップボードに疑問符が表示されます)。
エンコーディングに問題があると思い、-dProvideUnicode
スイッチを削除しましたが、テキストがまったく抽出されず-dExtractText
、このドライバーのみに固有のフラグが正しく機能するために必要であると思います。
単一ページの PDF ファイル (デバイスin.ps
を介して生成されたもの) を実行しようとすると、テキストも表示されません。しかし、pdfminer、xpdf などの他のツールは、正しいテキストを抽出します。また、Acrobat を使用する SumatraPDF などの PDF ビューアは、期待どおりにテキストを抽出します。ps2write
ps2ascii
mupdf
これらの文書化されていないスイッチについて何か知っている人はいますか?ここで何が問題になる可能性がありますか?
更新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]
>>