0

.NET アプリケーションで Itextsharp を使用して PDF を読み込もうとしていました。私は個々の単語をうまく読むことができます。私が今直面している課題は、テーブルを読むことです。次のようなテーブル構造があります。

ここに画像の説明を入力

ここでは、一部の列名が 2 行で表示されていることに注意してください。たとえば、部門コードや従業員識別番号などです。

したがって、私の要件は、従業員が「人事」部門に所属している場合、従業員識別番号と給与を読み取ることです。このために、「部門コード」という名前の列が PDF ファイルに存在するかどうかを確認する必要があります。

iTextsharp を使用してこのテーブルを読み取ると、「Department Code」列の「Department」部分が位置 1 にあるとしましょうが、「コード」は 5 番目の位置にあるとしましょう。これは、この列が 2 行で表示されているためです。このコラムの「コード」の部分を読む前に、pdf に他の 4 つの単語が存在します。私はこれで完全に立ち往生しています:(

列名「部門コード」が存在することを確認し、このテーブルから対応する値を読み取る方法は誰にでもあります。

あなたの助けに感謝!

よろしく、ジャリール

4

1 に答える 1

1

残念ながら、PDF には実際には「表」という概念がありません。表のように見えるのは、たまたま周りに線が入った任意のテキストの集まりです。ほとんどの PDF 作成ライブラリでは、「表」からコンテンツを作成できますが、最終的にそれらはテキストと無関係な行に変換されます。また、「空白のセル」として表示されるものは、おそらく実際にはまったくテキストではありません (スペースの場合もあります)。

この種のことについては、ドキュメントに固有の任意のルールを考え出す必要があります。テキストに対して行が存在する場所を計算し、より論理的な形式でテーブルを再構築しようとすることもできますが、それを行うのは難しいでしょう。

于 2012-04-19T16:01:16.523 に答える