質問

私は作成しました PDF抽出ツール. 。サンプル画面が添付されています。 enter image description here ユーザーはPDFファイルをロードし、必要なデータ領域を選択できます。次に、PDF座標とページ番号をつかみ、テンプレートとして保存します。ユーザーaがPDFファイルのリストを指定すると、テンプレートファイルに従ってデータを抽出できます。 私のツールはこれに非常に似ています。

現在、問題があるPDFSでは、抽出に必要なデータの部分が次のページにシフトされる場合があります。 (シフトの理由は、私は . 。購入したアイテムのリストの請求書を考える場合は、 印刷された「合計値」の場所 購入したアイテムの数に依存します。それが長いリストである場合、それ以外の場合は、中央または上部近くにあります)。

したがって、今私は考えています 座標を取得する代わりに、PDFの構造を特定します。

しかし、私はそれをするという明確な考えを持っていません。何でも共有してください、あなたはこの問題を解決するのに役立つと思います。 PDFからデータを取得しようとしていることをもう一度繰り返します。したがって、可能です PDFの構造をキャプチャします ファイル。

私の考えは、構造を識別できる場合、値がどこにあるかを言うことができます。たとえば、PDFをHTMLに変換し、HTMLタグ値をナビゲートしようとしました。 (body-> div-> table-> td->など)しかし、それは成功しませんでした.. :(

役に立ちましたか?

解決

PDFには、Divや容器のようなものはない、弱い構造しかありません。レイヤーグループがありますが、同様ですが、座標は唯一のものであり、頼りにすることができます。

キャプチャページを独立させるために、左右からのテキストとマージンの種類を説明してください。

他のヒント

PDFファイル形式には、オプションのメタタグセットが含まれています。これらを使用すると、ファイルには何らかの構造があります。そうでなければ、あなたは運が悪い。私はこれをで見つける方法をあなたに伝えるブログ投稿を書きました http://www.jpedal.org/pdfblog/2010/09/the-easy-way-to-discover-if-a-pdf-file-contains-structured-content/

「Order Qty」などの「アンカー」を使用してから、それに対するデータをキャプチャできます。を見てみましょう www.ivytools.net - そのツールでは、ドキュメント内の他のテキストに関連する値を見つける方法を指定するルールを定義できます。あなたの例では、それは次のようなものになります:

p.Find("ORDER QTY").Down()
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top