1

PDFドキュメントからテキストを抽出しようとしています。PDFBoxTETなどのツールをいくつかテストしましたPDFTextStreamが、ペルシャ語の複数列の PDF ドキュメントのテキストを抽出するのに適したツールはありません。

現在、このツールの優れた機能を組み合わせて、いくつかのトリックを使用しようとしています。ページの列数を検出する方法と、これらの列のテキストを分割する方法を知りたいです。

特に、列検出を担当するPDFBoxまたはのクラスと、それがどのように機能するかを知りたいです。PDFTextStream

4

1 に答える 1

2

私は についてしか話せませPDFTextStreamんが、それがどのように機能するかを理解するには、大まかに、PDFTextStreamPDF ドキュメントがどのように見えるかを理解する必要があります。

各ドキュメントは で構成されておりPages、それらは で構成されていBlocksます (多数あり、ネストされている可能性があります)。Blocks最終的には が含まれLines、これには が含まれますTextUnits

これらの各ユニットには、、、xおよびプロパティがyあります。すべての PDF は、座標に基づいて配置されたこれらの基本単位です。ページまたは領域を「読み取る」ように要求すると、オブジェクトと、それらが X、Y プレーンにどのように配置されているかを調べ、それがテキストにどのように変換されるかの近似値を使用します。この構造を機械可読な構造化データに変換する 100% 確実な方法はないため、エラーが発生するのはこのためです。widthheightPDFTextStream

では、関数と例PDFTextStreamを見てください。PDFTextStream はプロプライエタリ (私が PDFBox に移行する理由) であるため、テキストのフェッチに使用されるアルゴリズムについて詳しく説明することはできませんが、上記の過度の単純化に基づいています。getRegionText

幸運を。

于 2013-09-06T02:34:24.443 に答える