PDF を XML に変換し、その構造/スタイルを XSL でキャプチャする方法は?
3 に答える
以前、PDF から XML への変換を、ハンバーガーを牛に変換しようとしていると説明したことがあります。リバースエンジニアリングの演習です。PDF は、テキストを表現する方法が非常に多様です。最悪の場合、スキャンした画像しかありません (この場合、基本的に OCR を実行していることになります)。運が良ければ、ページ上で表示される場所の座標を含むテキスト文字列のコレクションがありますが、それ以外に構造を示すものはありません。
PDF が理解できる形式であれば、合理的な仕事 (通常は Microsoft Word を生成する) を行うツールがあります。Google「PDFからWordへの変換」。それらを試してみてください(そうしてからしばらく経ちました)。自分で書こうとしないでください。もちろん、Word から XML へのアクセスは「比較的」簡単です。
PDFTextStreamは、PDF ドキュメントからテキストを XML として簡単に抽出できます。1 つの特定の PDF->XML アプローチが PDFTextStream に含まれています — <a href="http://downloads.snowtide.com/javadoc/PDFTextStream/latest/pdfts/examples/XMLOutputTarget.html" rel="nofollow">XMLOutputTarget —ソースは PDFTextStream に含まれているため、要件に合わせて簡単に調整できます。
コード サンプルを利用して開始するか、PDFTextStream を使用した PDF テキスト抽出のしくみについて詳しく読むことができます。
(開示: 私は PDFTextStream のメーカーである Snowtide に雇われています。いずれにせよ、このポインターが役立つことを願っています。)
Michael Kay は、PDF から XML への変換を「ハンバーガーを牛に変換しようとしている」と説明したときに、それを釘付けにしたと思います。
私は過去にかなりの数の PDF から XML への変換を行ってきました。私は、OCR を必要としない適切な PDF を変換できるという点で幸運でした。私の問題のほとんどは、表とグラフィックに関するものでした。Michael が示唆するように、最初に Word に変換すると、これらの問題が解決する可能性があります。
私がしたことは、 Xpdfpdftotext
を使用してPDFをテキストに変換し、テキストをXMLに変換することでした。(テキストから XML への変換には Omnimark を使用しましたが、おそらく Java や Python を使用して変換を行うこともできます。基本的な構造に変換してから、XSLT (2.0!) を使用して微調整するのが最も簡単かもしれません。