0

PDFClown でクラスを使用するTextExtractorと、「任意の改行」とも呼ばれる空の空白が発生するという問題が発生します。これらの文字はランダムに埋め込まれますが、Acrobat Reader では無視されます。'\n'したがって、これらの文字が存在する行は、Acrobat では 1 行として表示されますが、 で改行文字として指定すると、テキストが抽出されると複数の行に分割されますTextExtractor.ToString(...)

PDF clown は、単純に空白文字を取り、それを単一のスペースまたは' '. 代わりに元の文字が抽出されるように、この変換をバイパスする方法はありますか?

4

1 に答える 1

1

さらに調査した結果、PDFClown ライブラリには非常にバグがあるようです。いくつかの問題があります。

  • ほとんどの形式の空白文字を単一の通常の空白文字に変換します。
  • 改行の代わりにスペースを挿入します。
  • 提供されたオーバーライドを使用して、スペースまたは改行に独自の文字を挿入しようとすると、抽出された配列内の文字から個々の文字のボックスへの内部マッピングが破棄されます。
  • すべての埋め込みフォントを正しくデコードできません。
  • 埋め込まれたフォントを正しくデコードできないため、抽出されたテキストから黙って文字を省略します。
  • 合字または合字の分解を確実に処理できません。多くの場合、抽出されたテキストから静かに完全に削除されます。

私が抱えていた問題に直接取り組むには、これらの「偽の」空白文字を検出して削除することができます。それらの境界四角形をチェックして、それらが他の非空白文字と重なっているかどうかを確認しますが、ライブラリに関する他のすべての問題を考えると、使用する私のアドバイス代わりに PDFBox を使用してください。

.NET を使用していて、 PDFBoxを使用したい場合は、IKVM経由で .NET に持ち込まれたApache TikaプロジェクトであるTika On Dot Netを使用できます。

Apache Tika は、PDFBox を含む他のライブラリのコレクションです。Tika On Dot Net には現在 PDFBox 1.8.10 があり、プロジェクトに簡単に追加できる Nuget パッケージもあります。

これらの問題はすべて途中で発見され、完全な書き直しが必要だったため、プロジェクトの締め切りを 1.5 週間遅らせました。ただ頭を上げてください。

于 2016-05-24T19:06:17.700 に答える