2

PDF抽出ツールを作成しました。サンプル画面を添付しました。ここに画像の説明を入力してくださいユーザーはPDFファイルをロードして、必要なデータ領域を選択できます。次に、PDF座標とページ番号を取得し、テンプレートとして保存します。ユーザーがPDFファイルのリストを提供すると、ツールはテンプレートファイルに従ってデータを抽出できるようになります。私のツールはこれに非常によく似ています。

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

そのため、座標を取得するのではなく、pdfの構造を特定することを考えています。

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

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

4

3 に答える 3

3

PDFには弱い構造しかなく、divやcontainersのようなものはありません。レイヤーグループなどもありますが、信頼できるのは座標だけです。

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

于 2011-03-17T11:33:52.230 に答える
3

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

于 2011-03-17T12:11:18.540 に答える
0

「ORDERQTY」などの「アンカー」を使用して、そのアンカーに関連するデータをキャプチャできます。www.ivytools.netをご覧ください。このツールでは、ドキュメント内の他のテキストに関連する値を見つける方法を指定するルールを定義できます。あなたの例では、次のようになります。

p.Find("ORDER QTY").Down()
于 2018-10-08T19:05:02.467 に答える