PDFファイルからページ番号を抽出するために、tika、Pdfbox、itextpdfなどの非常に多くのAPIを調査しましたが、これを行うことができませんでした. itextpdf では PdfPageLabels.getPageLabels(reader) を取得しましたが、このメソッドの動作は均一ではありません。
1 に答える
PDF からページ番号を抽出できるソフトウェアが見つからない理由は単純です。ページ番号の概念が PDF に存在しないからです。
あなたの反応を予測させてください。
*"ちょっと待って!" 「Adobe Reader で PDF を開くと、ドキュメントのページ番号がはっきりとわかります!」
そうです、そのページ番号は目と人間の知性で見ることができますが、機械にとってその番号はキャンバスに描かれたテキストにすぎません。ドキュメントを使用するマシンは、ページ上のすべてのグリフ、線、および形状が何であるかを認識していません。したがって、ソフトウェアは、人間として見るページ番号を与えることはできません。機械はどこを見たらいいのかわからない!
PDF について何かご存知でしたら、次の返信を予測できます。
"ちょっと待って!" 「タグ付き PDF はどうですか? タグ付き PDF は、ドキュメントのセマンティクスが表現と共に保存されることを意味しませんか?」
はい、PDF がタグ付けされると、テキストのスニペットは、それがタイトル、段落、またはリストの一部であることを認識します... しかし、タグ付き PDF は、実際のコンテンツの構造を定義するために存在します。ただし、ページ番号は実際のコンテンツの一部ではありません。これらは、実際のコンテンツとは見なされないページ上のヘッダー、フッター、およびその他のアイテムと共にアーティファクトとしてマークされます。ページ番号を区別する方法はありません。
「では、これらのページ ラベルは何に関するものですか?」あなたが尋ねる。
ページ ラベルはオプションです。それらはよく考えられた一部の PDF には存在しますが、実際に見られる PDF の大部分には存在しません。
これは長い答えです。短い答えは簡単です:あなたは不可能なことを求めています(一般的に、iText、Tika、PdfBox、またはあなたが試すかもしれない他のツールだけではありません)。