これは PDF マイニングと呼ばれ、次の理由から非常に困難です。
- PDF は、解析するためではなく、印刷するために設計されたドキュメント形式です。PDF ドキュメント内では、テキストは特定の順序ではなく (印刷に順序が重要でない限り)、ほとんどの場合、元のテキスト構造が失われます (文字は単語としてグループ化されず、単語は文でグループ化されない可能性があり、順序はそれらは紙に配置されることが多く、ランダムです)。
- PDF を生成するソフトウェアはたくさんありますが、その多くは欠陥のあるものです。
PDFminer などのツールは、ヒューリスティックを使用して、ページ内の位置に基づいて文字と単語を再度グループ化します。インターフェイスがかなり低レベルであることには同意しますが、解決しようとしている問題がわかっている場合はより理にかなっています (最終的に重要なのは、文字/単語/行が隣人からどれだけ近くにある必要があるかを選択することです)。段落の一部と見なされます)。
非常に優れた OCR を持っている場合は、各ページの画像を生成して OCR に供給するという (時間とコンピューターの処理能力の点で) 高価な代替手段があります。
つまり、私の答えはノーです。PDF ファイルからテキストを抽出するための単純で効果的な方法はありません。文書の構造が既知の場合、ルールを微調整して良い結果を得ることができますが、それは常にギャンブルです。 .
私は本当に間違っていることを証明したいと思います。
[アップデート]
答えは変わっていませんが、最近私は 2 つのプロジェクトに関与しました。そのうちの 1 つは、コンピューター ビジョンを使用して、スキャンした病院のフォームからデータを抽出することです。もう 1 つは、裁判所の記録からデータを抽出します。私が学んだことは次のとおりです。
コンピューター ビジョンは、2018 年にはごくわずかな人間の手の届くところまで来ています。すでに分類済みのドキュメントの良いサンプルがある場合は、OpenCV または SciKit-Image を使用して特徴を抽出し、機械学習分類子をトレーニングしてドキュメントの種類を判断できます。
分析している PDF が「検索可能」である場合、pdftotextのようなソフトウェアとベイジアン フィルター (スパムの分類に使用されるのと同じ種類のアルゴリズム) を使用して、すべてのテキストを非常に遠くまで抽出することができます。
そのため、PDF ファイルからテキストを抽出するための信頼できる効果的な方法はありませんが、当面の問題 (ドキュメント タイプの分類) を解決するためには必要ないかもしれません。