QPDFはストリームを無効な文字としてレンダリングします。

QPDFはストリームを無効な文字としてレンダリングします。

私は多言語PDF(ヘブライ語/英語辞書)を機械で読むことができるようにするためにさまざまなプログラムを使用してきました。 QPDF(および他のほとんどすべてのプログラム)は、テキストを横説説としてレンダリングします。--decode-level=all何の効果もなく設定してしまいました。

ここで何が間違っている可能性がありますか?

ベストアンサー1

そのPDFを見なければ多くのことを言うことはできませんが、以下はいくつかの基本です。

PDFにはオブジェクトが含まれており、その一部にはページに文字の外観を配置するPostscriptの単純化されたバリエーションストリームが含まれています。 (テキストエディタでPDFを開き、オブジェクトを表示できます。たとえば、次のようにストリームを解凍すると、テキストmutoolエディタでストリームを表示できます。

これを生のテキストに戻すことは本当に難しいです(「機械可読」という意味であると仮定します)。なぜなら、そのような試みは、レンダリングアプリケーションがどのように機能するかを想定する必要があるからです。レンダリングアプリケーションが元のテキストの順序で文字の外観を配置した場合は、文字の外観を文字に再マップしてから、その順序で文字を出力できます。

たとえば、読み取り方向が異なる2つの言語があるため、レンダリングプログラムがより複雑な操作を実行すると、これらの試みは失敗します。

したがって、本当に必要な場合は、PDFがどのように機能するかを詳しく見て、テキストをテキストに変換するカスタムプログラムを書く必要があります。

おすすめ記事