LEADTOOLS Leadtools.Topics.Documents.Converters

フレームを表示

ドキュメントコンバータドキュメントの任意型から最小の量のcodeによるもう一つへの変換を許可します。

入出力ドキュメントタイプは、LEADTOOLSによってサポートされるファイルフォーマットの任意型でありえます。以下を含むがこれに限らず:

DocumentConverterクラスは入出力ドキュメントタイプを分析して、そして、正確さと速度の最高の組合せを使っているデータを変換するために、自動的にLEADTOOLSラスター、SVGとOCRエンジンの組合せを使います。各々の変換操作は、フレームワークのドキュメントコンバータジョブと呼ばれています。

入力ドキュメント

DocumentConverterは、入力ファイルに関する情報を得るために、LEADTOOLSドキュメントライブラリを使用します。Documentクラスはファイルフォーマットの詳細をカプセル化して、ページを読んで、変換ジョブのために必要とされるデータを解析するために必要な機能性の均一なセットを返します。これはRasterImageまたはSvgDocumentオブジェクトとしてロードページデータを含みます。そして、目次と内部のページリンクと任意のアノテーションオブジェクトがファイルで埋め込んだか、関連ファイルで保存したことを読みます。

出力ドキュメント

出力ドキュメントファイルフォーマットは、2つのカテゴリーに分けられます:

変換オプション

ドキュメント変換は、一人になるように設計されています。しかし、DocumentConverterは、モニターして、操作を修正して、必要に応じて出力ドキュメントをカスタマイズするために、多くのオプションを提供します。これは以下を含みます:

動き出すこと:DocumentConverterクラス

DocumentConverterクラスは、フレームワークへの基本記入です。一つ以上のドキュメントを変換するために使われるこのクラスのインスタンスを初期化して、その後これらのオプションを設定します:

> > >
メンバ 説明
SetOcrEngineInstance SVGが入力文書内で利用できない場合、テキストとオブジェクトを解析するために使用するIOcrEngine
SetDocumentWriterInstance 文書形式出力が選択される出力ファイルを作成するとき、使うDocumentWriter
SetAnnRenderingEngineInstance アノテーションがイメージの上で覆われるとき、使用するオプションのレンダリングエンジン。
LoadDocumentOptions 入力ドキュメントをロードする際に使うオプション。
Preprocessor 入力ドキュメントのイメージをクリーンアップすることの用途への前処理オプション。
オプション エラー回復モードとページ番号テンプレートなどの変換の間の使用への追加のオプションのオプション。
Diagnostics 標準的な.NETトレーシングを有効にすることなどのロギングのためのオプション。

ジョブを作成すること

DocumentConverterクラスが初期化されたら、新しい変換ジョブを作成するために、DocumentConverterJobsクラス(DocumentConverter.Jobsプロパティを通してアクセスされる)を使用します。

ジョブのためのパラメータは、DocumentConverterJobData構造体で設定されます。これは、以下のメンバを格納します:

メンバ 説明
ドキュメント 変換の入力として使用されるドキュメントオブジェクト。これかInputDocumentFileNameが、使われます。
InputDocumentFileName 変換のための入力ファイルへのパス。これかドキュメントが、使われます。
InputAnnotationsFileName 出力ドキュメントに追加されるアノテーションファイルを格納しているファイルへのパス。任意。
InputDocumentFirstPageNumber 入力ドキュメントから変換される最初のページの番号。任意。
InputDocumentLastPageNumber 入力ドキュメントから変換される最後のページの番号。任意。
DocumentFormat ドキュメント変換が使われる出力形式。
RasterImageFormat ラスター変換が使われる出力形式。
RasterImageBitsPerPixel ラスター変換が使われる出力ファイルのピクセル当たりビット。
OutputDocumentFileName この変換によって生成される出力ファイルの名前。
OutputAnnotationsFileName 入力ドキュメントから解析されるアノテーションを格納するファイルの名前。任意。
AnnotationsMode アノテーションが出力ドキュメントで保存される方法をカスタマイズします。
JobName このジョブのオプションの名前。トレーシングが有効にされるとき、役に立つ。
UserData それがそうであることがありえるオプションのユーザー定義のオブジェクトは、ジョブイベントがアプリケーション指定されたデータに渡す長辺を使いました。

DocumentConverterJobs.CreateJobDataオーバーロードされたメソッドは、一般の入出力オプションから速くジョブを作成するのに用いられることもできます。

すべてのオプションが設定されるとき、DocumentConverterJobs.CreateJobメソッドはよくそのステータスのように、ジョブオプションを保持するDocumentConverterJobクラスのインスタンスを作成するのに用いられます。このオブジェクトは、その後DocumentConverterJobs.RunJobまたはDocumentConverterJobs.RunJobAsyncに渡されて操作が実行されます。

実行ジョブ

DocumentConverterJobs.RunJobまたはDocumentConverterJobs.RunJobAsyncは、1つ前のセクションで作成されるデータからジョブを実行するのに用いられます。ジョブが実行する間、DocumentConverterJobs.JobStarted(かつて)、DocumentConverterJobs.JobOperation(1つ以上)とDocumentConverterJobs.JobCompleted(かつて)イベントはジョブ進捗を示すために発生します。

DocumentConverterJobEventArgsのイベントのためのデータで、現在のジョブとそのステータスに関するすべての必要情報を格納します。

メンバ 説明
ジョブ RunJobまたはRunJobAsyncに渡された実際のジョブオブジェクト。
ステータス ジョブのカレントステータス、そして、それがまだ実行しているか、中止されたかどうかにかかわらず。ユーザーは、このプロパティを修正することによって、任意の継続的なジョブを中止することができます。
操作 コンバータで実行されている現在の操作。
IsPostOperation このイベントが操作の前後に発生するかどうか。
InputDocumentPageNumber 入力ドキュメントの現在のページ番号。
OutputDocumentPageNumber 出力ドキュメントの現在のページ番号。
ドキュメント この変換により使用されているドキュメントオブジェクト。
DocumentWriter 文書変換が使用される場合、この操作によって使用されるDocumentWriterオブジェクト。
OcrDocument この操作がOCR変換を使っているならば、使われているOCRドキュメントオブジェクト。
OcrPage この操作がOCR変換を使っているならば、使われているOCRページオブジェクト。
SvgDocument この操作がSVG変換を使っているならば、使われているSVGドキュメント。
OcrPageImage この操作にOCR変換を使用する場合に現在のページのラスター画像オブジェクト。
RasterImage この操作がラスター変換を使っているならば、使われているラスター画像。
AnnContainer アノテーション変換が使われるならば、使われているアノテーションコンテナ。
AnnotationsMode 現在のアノテーション変換モード。

これらのメンバと使われることができるか、修正されることができる方法の詳細については、「DocumentConverterJobOperation」を参照してください。

InputDocumentPageNumberプロパティは、現在の変換操作のプログレスバーインジケータを示すのに用いられることができます。

ジョブを完了すること

RunJobメソッドが返るとき、ジョブは完了されます。RunJobAsyncが使われるならば、JobCompletedはジョブがいつ完了されるかについて示すのに用いられなければなりません。両方の場合に、渡されるDocumentConverterJobオブジェクトは、以下のようにこの操作のステータスに関する情報を格納します:

メンバ 説明
ステータス ジョブステータス。これは成功(エラーでの以外成功)でありえるか、中止しました。
エラー 変換の間、発生したかもしれない任意のエラーのリスト。
JobData オリジナルのオプションは、このジョブを作成したものです。
DocumentConverter ドキュメントコンバータオブジェクトは、ジョブを実行したものです。

マルチスレッド

DocumentConverterはマルチスレッドセーフです。RunJobAsyncメソッドは、同時に複数のジョブを実行して、別々のスレッドで実行するのに用いられることができます。内部的には、コンバータは、スレッドを作成して管理するためにだけ、.NETスレッドプールを使います。

RunJobAsyncはオプションの分別チェックを実行して、その後ジョブを開始して、すぐにユーザーにコントロールを返します。ジョブが完了されるとき、JobOperationとJobCompletedイベントはジョブステータスをモニターして、通知されるのに用いられることができます。AbortAllJobsは、すべての実行を中止して、任意の保留のジョブをキャンセルするのにいつでも用いられることができます。

ドキュメントライブラリ機能
LEADTOOLSドキュメントビューワの使用