2

複数の列を持つテーブルを含むPDFファイルを読み取る必要があります。iTextSharpを使用すると、ファイルを読み取ることができますが、フォーマットされていないテキストが大量に表示されます。データベースに挿入できるようにデータを構造化できません。

助言がありますか?

4

3 に答える 3

1

構造化テキストでない限り、列を表示するためのタグ付けはありません。PdfBoxのようなツールは、テーブルを抽出するために「推測」を行います。

テキスト抽出が非常に難しい理由を説明する記事がhttp://pdf.jpedal.org/java-pdf-blog/bid/12670/PDF-textにあります。

于 2009-11-26T08:40:26.343 に答える
0

私が正しく理解していれば、PDFテキストは位置的に保存されるため、行や列の概念はありません。つまり、別の列から読み取っている「可能性」に基づいたヒューリスティックを使用する必要があります。

単語間のスペースの量を比較することで、これを試すことができます。(私はITextSharpインターフェースに精通していないので、それができないことについて言及している場合はご容赦ください。..私はほとんどpdfNetに精通しています。

私が思いついたもう1つのアイデアは、テキストに列を区切る垂直線などの視覚的な手がかりがある場合です。その場合は、テキストが列行の左側にあるか右側にあるかを判断するためのヒューリスティックを考え出すことができるはずです。

..。

ただし、可能であれば、よりデータベースに適した形式でデータを取得するのが最善の方法です。これにより、長期的には心の痛みを軽減できる可能性があります。

-ジェイソン

于 2009-11-26T03:08:19.273 に答える
0

私はこれを行うための簡単な方法はないと結論付けています。少なくとも表形式でデータを読み取る。Markから提供された提案を試しましたが、私の要件に従って実行できないようです。

于 2009-12-02T14:35:17.270 に答える