2016-08-19 10 views
1

C#iTextSharpを使用してPDFを読み込むと、デフォルトでデータセット間に空白が使用されます。C#iTextSharpを使用してPDFを読み込むときにデータセット間で文字を設定する方法

これは、PDFのデータに空白が含まれているため、空白で分割しようとすると問題になります。例については

、私は以下のようなPDFを持って、それがテーブルを持っています

ファンドAA |債券

基金BB | iTextSharpで抽出された現金

結果は次のとおりです。

ファンドAA債券

ファンドBBキャッシュ

そのように私は分割することができませんでした。 データセット間に+のような特別なcharを設定したいと思います。このようにして、私は分割して判断することができます。

期待される結果は次のとおりです。

ファンドAA +債券

基金BB +現金

はこれを実現する方法を誰もが知っていますか?

ありがとうございます。

+0

:私は更新

行は下に貼り付け?ヒント:一般的に、PDFはデータセットの概念を持たず、ページ上のどこかに描かれたテキストとベクターグラフィックスとビットマップだけです。 – mkl

答えて

0

実際には、ソースコードを更新しない限り、区切り記号を空白から '+'に設定する方法はありません。

これは私が私のためにそれを修正する方法です。私はソースコードをダウンロードして更新し、次に新しいitextsharp.dllを取得します。これは現在セパレータとして '+'を使用しています。

これをプロパティフィールドまたは引数にして、ユーザーが値を設定できると思うと、はるかに優れています。あなたはiTextSharpでPDFにあなたの「データセット」を認識することを期待するにはどうすればよい正確 https://github.com/itext/itextsharp/blob/develop/src/core/iTextSharp/text/pdf/parser/LocationTextExtractionStrategy.cs ライン193 https://github.com/itext/itextsharp/blob/develop/src/core/iTextSharp/text/pdf/parser/SimpleTextExtractionStrategy.cs ライン145

+0

私があなたの場合は、あなたのitextsharp.dllにその置き換えをハードコードしません。現在の文書では必要に応じて動作しますが、抽出されたテキスト内の各スペースを置き換えた文書が多数あります。 – mkl

+0

@BrunoLowagie言われたことですが、実際には、暗黙のギャップに使用される文字をパブリックセッターを介して構成可能にすることをお勧めします。プログラムは、コンテンツから実際に抽出されたスペース文字を区別できるようにしたい場合がありますギャップから派生したスペース文字を含む。 – mkl

関連する問題