4

私が探しているのは、商用アプリケーションでPDFドキュメントからデータベースにデータをインポートするためのC#ソリューションです。お客様は、任意のドキュメントをインポートしようとしています。通常、私はこれを完全に不可能として書き留めますが、インポートするドキュメントは独自のセットレイアウトになります。

私の計画では、PDFを静止画像にレンダリングしてから、ユーザーが独自のテンプレートを設定できるようにします。これにより、OCRを使用して、PDF内の事前定義されたピクセルオフセットでテキストを基本的に引き出すことができます。テーブルの場合、テーブルの場所と、列および行のサイズのその他の値の束を定義します。次に、そのドキュメントタイプにテンプレートを適用できます。

したがって、私が本当に探しているのは2つのライブラリです。1つはPDFを画像に変換するためのもので、もう1つはそれらの画像をOCRするためのものです。

要件:

  • 純粋なC#であるか、ネイティブDLLへのサポートされているC#ラッパーがあります。
  • プロセスをフォークしません-この場合、基本的にコマンドラインパラメーターを作成して外部実行可能ファイルを起動するラッパーは許可されません。
  • FOSSの場合、ライセンス料を支払うことで、通常のFOSSライセンス要件(つまり、ソースコードの公開)を免除することができます。

私たちは確かに商用ソリューションにお金を払ってもかまいませんが、ソフトウェアの個々の配布ごとに料金を支払うことに固執したくはありません。

これは非常に具体的な要件セットであることを私は知っています-おそらく一部の人々はこの質問があまりにもローカライズされていると見なすのに十分ですが、誰かが私に役立つアプローチといくつかのライブラリ、そして将来的に他の人を提案できることを願っています。

私がPDF側で調べたもの:

  • iTextSharp-ドキュメンテーションはあなたが買わなければならない本であり、良いスタートではありません。PDFをパブリックドメインの画像に変換することに関しては、あまり有用なドキュメントではないようです。ライセンスは不透明で、配布先のクライアントごとに支払う必要があるようです。
  • Docotic.Pdf-テキストのみ、使用しません。
  • pdftohtml-繰り返しますが、画像は生成されません。C#に移植するのも面倒です。
  • PdfFileParser-まだ必要なものではありません。
  • GhostScript-ほぼ正確に私たちが望むものですが、プログラムにフォークアウトする必要があります。

OCR側については、Apacheライセンスは寛容であり、良いレビューを得ているので、おそらくTesseractを使用することになります。別の方法があれば、私もそれに興味があります。

4

2 に答える 2

2

このタスクには、Amyuni PDFCreator.Netをお勧めします。

最初のシナリオ:
PDFファイルが明確に定義されている場合(フォント情報の欠落などがない場合)、メソッドで長方形の領域を指定することにより、PDFからテキストを直接抽出できますGetObjectsInRectangle。オプションも使用する必要がありますacGetRectObjectsOptimize

テキストオブジェクトを返す前に最適化します。つまり、互いに近いテキストオブジェクトを1つのテキストオブジェクトに結合します。

2番目のシナリオ:
テキストも含む画像が含まれている場合は、ページ全体を画像にレンダリングしてからOCRを適用することをお勧めします。これは、Amyuni PDF Creator .Netで、 ExportToTiffExportToJPeg、またはRasterizePageRangeメソッドを使用して行うことができます。

ドキュメントから:

IacDocument.RasterizePageRangeメソッド
RasterizePageRangeメソッドは、ページのコンテンツをカラーまたはグレースケールの画像に変換します。ドキュメントをアーカイブしたりOCRを実行したりする場合、複雑なテキストやグラフィック操作ではなく、すべてのページを画像として保存する方が望ましい場合があります。

次に、Tesseract OCRと統合するOCRアドインを使用できます。最後に、最初のシナリオ(GetObjectsInRectangle)に戻ります。ファイルにOCRを適用するには、メソッドを使用できますOCRPageRange

void OCRPageRange(int startPage、int EndPage、string Language、acOCROptions Options)

ライセンスについては、Amyuni PDF Creator .Netが(アプリケーションごとに)ロイヤリティフリーのライセンスを提供します。

通常の免責事項が適用されます

于 2012-05-31T13:30:51.563 に答える
0

Docotic.Pdfにもう一度チャンスを与えたいと思うかもしれません。

ライブラリは、テキストチャンク、単語、さらには境界の長方形を持つ個々の文字を抽出できます。PDFから単語を抽出するためのサンプルをご覧ください。

また、Docotic.Pdfは、PDFから画像を作成し、にページを描画できますSystem.Drawing.Graphics。サンプルのPDFグループの描画と印刷をご覧ください。

免責事項:私はライブラリの開発者の1人です。

于 2012-05-31T17:58:06.017 に答える