私が探しているのは、商用アプリケーションで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を使用することになります。別の方法があれば、私もそれに興味があります。