PDFファイルから文字の代わりに単語を抽出しますか?

PDFファイルから文字の代わりに単語を抽出しますか?

私はlessそれをpdftotextPDFファイルからテキストを抽出するために使用しますless my.pdf。このように、一部の単語にはスペースで区切られた文字があります。PDFファイル

CH APTE R 2 5        T E ST IN G WE B A P P LIC AT IO N S      540

一部の人はAdobe Readerに問題がないと主張しています。これを確認する手順はありません。しかし、Linuxのどのソフトウェアプログラムが単語を正しく抽出できるかを知りたいです。

答え1

PDFとその姉妹PostScriptは、すべてのデバイス(モニター、プリンター、印刷機など)で毎回同じ出力を再現する文書を作成するための言語です。したがって、文書作成者は各文字属性を個別に指定することができる。あなたの文書を見なくても、作者が文字を分離する理由を推測できます。最も一般的な原因はカーニングです。文字間の間隔を調整する場所です。

幸いなことに、キャラクターは実際に順番になっています。クリエイターがキャラクターを再配置して完全に順番に作成できない理由はありません。ページでは単語のように見えますが、PDFコードでは単語ではありません。

答え2

pdfテキスト情報を必ずしも含める必要はありませんが、ビジュアル出力を生成するために組版する必要があります。活版印刷された印刷版だと思います。各文字は絶対的な位置、サイズ、スタイルを持つボックスです。すべての画像にも同様です。そこに数学があれば、問題がどこにあるかを知ることができます。誰がテキストが線形であると言いますか?元の作者が意図したとおり、正確に位置とサイズが指定された文字の形が混乱しています。

pdfPostScriptの削除された(およびアップグレード/調整された)バージョンであり、一度に長い文字列を「印刷」(次に表示)するコマンドがまだあるため、実際のテキストと同様のものが得られる可能性があります。埋め込みフォントを指定したスタイルを持つページへ)。これがあなたが得るものですpdftotext。ただし、元のアプリケーションの出力が目的の視覚的な外観を得るために単語や文字に分割されている場合、改行、スペースなどが混乱する可能性があります。

テキストがベジェ曲線に変換されたり、文書がスキャンされた場合、幸運ではありません。多くの最新のビューアにはOCR機能があるため、いくつかの基本的な形式の検索と選択がまだ適用されます。ただし、正しい形式の出力を期待しないでください。テキスト抽出はほとんどリバースエンジニアリングです。

この問題を適切に処理するには、セマンティックコンテンツと固定デバイスに依存しない表示機能の両方を含むより構造化された文書が必要です。私たちはそれを持っていません。htmlページング出力には適しておらず、oxpsこれに関してはあまり良くありません。pdf

関連情報