LEADTOOLS Leadtools.Documents

フレームを表示

LEADTOOLSドキュメントライブラリは、ディスクファイル、リモートURLまたは以前にアップロードされたデータにあるデータからキャッシュシステムまでDocumentオブジェクトを作成することによって、ロードをサポートします。

ディスクファイルからのロード

ディスクファイルからDocumentオブジェクトを作成して、LoadDocumentOptionsのインスタンスを作成して、そしてDocumentFactory.LoadFromFileにファイル名とともにそれを渡すこと:


             var loadDocumentOptions = new LoadDocumentOptions();
             // Initialize loadDocumentOptions as needed
             Document document = DocumentFactory.LoadFromFile(fileName, loadDocumentOptions);
             

以下の手順は、このメソッドがどのように機能するかについて説明します:

  1. LoadDocumentOptions.UseCacheは確認されます。値がtrueであるならば、アプリケーションはLaodDocumentOptions.CacheDocumentFactory.Cacheで有効なキャッシュオブジェクトを設定したにちがいありません。さもなければ、例外はスローされます。値がfalseであるならば、新しいドキュメントはキャッシュを使いません。

  2. キャッシュはこのモードでオプションで、要求しませんでした。それが、ページがアプリケーションによって再び訪れられる、または、それの前にキャッシュにドキュメントを保存することが破棄されるならば、ドキュメント画像データまたはテキストを得ている昇速に使われることができます。さもなければ、すべてのデータは、必要に応じてオリジナルファイルから解析されます。

  3. LoadDocumentOptions.AnnotationsUriの値がnullでないならば、それは同様にディスクファイルにURLを格納しなければなりません。ディスク上で物理的なパスからアノテーションファイルまで新しいウーリオブジェクトを作成することができて、このプロパティでそれを設定することができます。これは、仕組みでfile:///ウーリオブジェクトを作成します。その他の仕組み(httpなどの)は、LoadFromFileを使うとき、失敗します

  4. ファクトリーは、RasterCodecs.GetInformationを用いてfileNameでファイルフォーマットに関する情報を得ます。これが失敗する(無効なファイルフォーマットまたは必須のLEADTOOLSファイルフォーマットアセンブリは見つけられません)ならば、例外はスローされます。

  5. Documentオブジェクトは作成されます、そして、以下のメンバは初期化されます:

    メンバ
    DocumentId ドキュメントがキャッシュに保存されるならば、使われることができるこのドキュメントのために作成される固有識別子。
    ウーリ 新しいウーリfileName)。
    Stream null
    IsDownloaded ドキュメントからfalseは、ダウンロードされませんでした。
    GetDocumentFileName LoadFromFileに渡される同じfileNameを返します。
    GetAnnotationsFileName LoadDocumentOptions.AnnotationsUriに渡される同じファイル名を返します。
    DocumentType ドキュメント型。
    MimeType ドキュメントファイルフォーマットのMIME型は、ロードの間、設定しました。
    HasCache LoadDocumentOptions.UseCache.と同じ値
    AutoDeleteFromCache true。アプリケーションがDocumentFactor.LoadFromCacheを用いてあとでキャッシュからこのドキュメントをリロードするならば、falseに変更されることができます。
    AutoSaveToCache false
    InternalObject 文書データを解析するために使用している内部LEADTOOLSオブジェクト。
    UserData null
    IsEncrypted 誤ってドキュメントが暗号化されない限り。この場合、ドキュメントが解読される前に、大部分のドキュメントプロパティが使われることができません。詳細については、「ドキュメントライブラリを使用した暗号化ファイルのロード」を参照してください。
    IsDecrypted false
    IsStructureSupported ドキュメントのMIME型に基づくtrueまたはfalse
    メタデータ 使われる準備ができている。
    構造体 使われる準備ができている。
    イメージ 使われる準備ができている。
    テキスト 使われる準備ができている。
    ページ 使われる準備ができている。
    アノテーション 使われる準備ができている。
  6. LoadFromFileは、このDocumentオブジェクトが使われる準備ができている返ります。

  7. ドキュメントはオンデマンドでディスク上でオリジナルファイルからデータを解析しますので、ドキュメントが生きる間、LoadFromFileに渡されるオリジナルのfileNameはアンインストール済みでしてはいけません。さもなければ、エラーは、ドキュメントデータにアクセスするとき、発生します。

サンプルのために、参照しますDocumentFactory.LoadFromFile

リモートURLからのロード

リモートURLからDocumentオブジェクトを作成して、LoadDocumentOptionsのインスタンスを作成して、そしてDocumentFactory.LoadFromUriに文書ファイルの遠隔地をポイントしているURLオブジェクトとともに、それを渡すこと:


             var loadDocumentOptions = new LoadDocumentOptions();
             // Initialize loadDocumentOptions as needed
             Document document = DocumentFactory.LoadFromUri(uri, loadDocumentOptions);
             

以下の手順は、このメソッドがどのように機能するかについて説明します:

  1. LoadDocumentOptions.UseCacheは確認されます。値がtrueであるならば、アプリケーションはLoadDocumentOptions.CacheDocumentFactory.Cacheで有効なキャッシュオブジェクトを設定したにちがいありません。さもなければ、例外はスローされます。値がfalseであるならば、新しいドキュメントはキャッシュを使いません。

  2. キャッシュはこのモードでもオプションで、要求もしませんでした。以前に訪問したページから文書の画像データやテキストを取得する速度を上げるのと同様に、キャッシュは、以下に説明するようにURIで文書ファイル名をダウンロードすために使用できます。

  3. LoadFromUriに渡されるuriが特別なLEADキャッシュ仕組み(IsUploadDocumentUriを用いて検出した)を持っているならば、ファクトリーはこれがDocumentFactory.BeginUploadを用いてキャッシュに以前にアップロードされるドキュメントへのURIであると仮定します、そして、下記の手順は実行されません、そして、データはダウンロードされません。データはすでにキャッシュにあります、そして、ファクトリーは下記の手順8にスキップします。

  4. LoadDocumentOptions.AnnotationsUriの値がnullでないならば、それはリモートURLとみなされます、そして、データは下で説明される文書ファイルのために使われて同様にファクトリーによってダウンロードされます。

  5. ファクトリーは、LoadDocumentOptions.UseCacheの値を確認します:

    • 値がtrueであるならば、ドキュメントデータはキャッシュシステムにuriからダウンロードされます。

    • 値がfalseであるならば、ドキュメントデータはuriからマシンで作成される一時的なファイル名までダウンロードされます。

  6. 同様に、LoadDocumentOptions.AnnotationsUrinullでないならば、それはキャッシュシステムに、または、キャッシュ使用に基づく一時ファイルにダウンロードされます。

  7. データをダウンロードするとき、ファクトリーはnullとまではいかないがLoadDocumentOptionsWebClientオブジェクトを使います。さもなければ、使われたあと、それは新しいインスタンスを作成して、それを破棄します。これは、特定のプロキシまたは証明書設定でカスタムWebClientを渡すか、ダウンロード進捗をモニターするのにアプリケーションを見込みます。

  8. ファクトリーは、ダウンロードされたか当面のファイルで、RasterCodecs.GetInformationを用いてファイルフォーマットに関する情報を得ます。これが失敗する(無効なファイルフォーマットまたは必須のLEADTOOLSファイルフォーマットアセンブリは見つけられません)ならば、キャッシュまたはダウンロードされたデータはアンインストール済みです、そして、例外はスローされます。

  9. Documentオブジェクトは作成されます、そして、以下のメンバは初期化されます:

    メンバ
    DocumentId ドキュメントがキャッシュに保存されるならば、使われることができるこのドキュメントのために作成される固有識別子。
    ウーリ 同じuriは、LoadFromUriに渡しました。
    Stream null
    IsDownloaded ドキュメントがダウンロードされたためTrue。
    GetDocumentFileName オリジナルドキュメントのダウンロードされたデータを格納しているキャッシュ項目または一時ファイルにパスを返します。
    GetAnnotationsFileName アノテーションのダウンロードされたデータを格納しているキャッシュ項目または一時ファイルにパスを返します。
    DocumentType ドキュメント型。
    MimeType ドキュメントファイルフォーマットのMIME型は、ロードの間、設定しました。
    HasCache LoadDocumentOptions.UseCache.と同じ値trueであるならば、GetDocumentFileNameはキャッシュ項目にパスを返します。さもなければ、それは一時ファイルにパスを返します。
    AutoDeleteFromCache true。アプリケーションがDocumentFactor.LoadFromCacheを用いてあとでキャッシュからこのドキュメントをリロードするならば、falseに変更されることができます。
    AutoSaveToCache false
    InternalObject 文書データを解析するために使用している内部LEADTOOLSオブジェクト。
    UserData null
    IsEncrypted 誤ってドキュメントが暗号化されない限り。この場合、ドキュメントが解読される前に、大部分のドキュメントプロパティが使われることができません。詳細については、「ドキュメントライブラリを使用した暗号化ファイルのロード」を参照してください。
    IsDecrypted false
    IsStructureSupported ドキュメントのMIME型に基づくtrueまたはfalse
    メタデータ 使われる準備ができている。
    構造体 使われる準備ができている。
    イメージ 使われる準備ができている。
    テキスト 使われる準備ができている。
    ページ 使われる準備ができている。
    アノテーション 使われる準備ができている。
  10. LoadFromUriは、このDocumentオブジェクトが使われる準備ができている返ります。

  11. ドキュメントはダウンロードされたデータからデータを解析します、したがって、LoadFromUriに渡されるオリジナルのURLが二度と決して使われないで、データです。そして、それは缶をポイントします。そして、すぐにアンインストール済みです。

  12. ドキュメントが破棄されるとき、それがキャッシュに格納された最初に保存されない限り、一時ファイルはアンインストール済みでしょう。

サンプルのために、参照しますDocumentFactory.LoadFromUri

非同期でリモートURLからロードすること

ドキュメントがダウンロードされて、解析されるまで、LoadFromUriはアプリケーションにコントロールを返しません。非同期でリモートURLからDocumentオブジェクトを作成して、LoadDocumentAsyncOptionsのインスタンスを作成して、DocumentFactory.LoadFromUriAsyncに文書ファイルの遠隔地をポイントしているURLオブジェクトとともに、それを渡すこと:


             var loadDocumentAsyncOptions = new LoadDocumentAsyncOptions();
             // Initialize loadDocumentAsyncOptions as needed. The Completed event is a must:
             loadDocumentAsyncOptions.Completed += (sender, e) => {
                // Completed, use e.Document
             };
             DocumentFactory.LoadFromUriAsync(uri, loadDocumentAsyncOptions);
             

以下の手順は、このメソッドがどのように機能するかについて説明します:

  1. LoadDocumentOptions.UseCacheは確認されます。値がtrueであるならば、アプリケーションはLoadDocumentOptions.CacheまたはDocumentFactory.Cacheで有効なキャッシュオブジェクトを設定したにちがいありません。さもなければ、例外はスローされます。値がfalseであるならば、新しいドキュメントはキャッシュを使いません。

  2. キャッシュはこのモードでもオプションで、要求もしませんでした。以前に訪問したページから文書の画像データやテキストを取得する速度を上げるのと同様に、キャッシュは、以下に説明するようにURIで文書ファイル名をダウンロードするために使用できます。

  3. LoadFromUriAsyncに渡されるuri値がLEADキャッシュ仕組みを持っているならば、ファクトリーはこれがDocumentFactory.BeginUploadを用いてキャッシュに以前にアップロードされるドキュメントへのURIであると仮定します、そして、下記の手順は実行されません、そして、データはダウンロードされません。データはすでにキャッシュにあります、そして、ファクトリーは下記の手順10にスキップします。

  4. スレッドはドキュメントをロードしているハンドルに作成されます、コントロールはアプリケーションに返されます、そして、残りのこれらの手順はスレッド手順で実行されます。

  5. LoadDocumentOptions.AnnotationsUriの値がnullでないならば、それはリモートURLとみなされます、そして、データは下で説明される文書ファイルのために使われて同様にファクトリーによってダウンロードされます。

  6. ファクトリーは、LoadDocumentOptions.UseCacheの値を確認します:

    • 値がtrueであるならば、ドキュメントデータはキャッシュシステムにuriからダウンロードされます。

    • 値がfalseであるならば、ドキュメントデータはuriからマシンで作成される一時的なファイル名までダウンロードされます。

  7. 同様に、LoadDocumentOptions.AnnotationsUrinullでないならば、それはキャッシュシステムに、または、キャッシュ使用に基づく一時ファイルにダウンロードされます。

  8. データをダウンロードするとき、ファクトリーはnullとまではいかないがLoadDocumentOptionsWebClientオブジェクトを使います。さもなければ、使われたあと、それは新しいインスタンスを作成して、それを破棄します。これは、特定のプロキシまたは証明書設定でカスタムWebClientを渡すのにアプリケーションを見込みます。

  9. 値がダウンロードの進捗をモニターするためにユーザーを許可するために無効でないならば、WebClient.DownloadProgressChangedイベントはLoadDocumentAsyncOptions.Progressにマップされます。

  10. WebClient.DownloadFileCompletedが発生するとき、ファクトリーはダウンロードされたか当面のファイルでRasterCodecs.GetInformationを用いてファイルフォーマットに関する情報を得ます。これが失敗する(無効なファイルフォーマットまたは必須のLEADTOOLSファイルフォーマットアセンブリは見つけられません)ならば、キャッシュまたはダウンロードされたデータはアンインストール済みです、そして、LoadDocumentAsyncOptions.CompletedLoadAsyncCompletedEventArgs.Errorでエラーオブジェクトで発生されます。

  11. さもなければ、Documentオブジェクトは作成されます、そして、以下のメンバは初期化されます:

    メンバ
    DocumentId ドキュメントがキャッシュに保存されるならば、使われることができるこのドキュメントのために作成される固有識別子。
    ウーリ 同じuriは、LoadFromUriAsyncに渡しました。
    Stream null
    IsDownloaded ドキュメントがダウンロードされたためTrue。
    GetDocumentFileName オリジナルドキュメントのダウンロードされたデータを格納しているキャッシュ項目または一時ファイルにパスを返します。
    GetAnnotationsFileName アノテーションのダウンロードされたデータを格納しているキャッシュ項目または一時ファイルにパスを返します。
    DocumentType ドキュメント型。
    MimeType ドキュメントファイルフォーマットのMIME型は、ロードの間、設定しました。
    HasCache LoadDocumentOptions.UseCache.と同じ値値がtrueであるならば、GetDocumentFileNameはキャッシュ項目にパスを返します。さもなければ、それは一時ファイルにパスを返します。
    AutoDeleteFromCache true。アプリケーションがDocumentFactor.LoadFromCacheを用いてあとでキャッシュからこのドキュメントをリロードするならば、falseに変更されることができます。
    AutoSaveToCache false
    InternalObject 文書データを解析するために使用している内部LEADTOOLSオブジェクト。
    UserData null
    IsEncrypted 誤ってドキュメントが暗号化されない限り。この場合、ドキュメントが解読される前に、大部分のドキュメントプロパティが使われることができません。詳細については、「ドキュメントライブラリを使用した暗号化ファイルのロード」を参照してください。
    IsDecrypted false
    IsStructureSupported ドキュメントのMIME型に基づくtrueまたはfalse
    メタデータ 使われる準備ができている。
    構造体 使われる準備ができている。
    イメージ 使われる準備ができている。
    テキスト 使われる準備ができている。
    ページ 使われる準備ができている。
    アノテーション 使われる準備ができている。
  12. LoadDocumentAsyncOptions.Completedイベントは、LoadAsyncCompletedEventArgs.DocumentDocumentオブジェクトで発生されます。このDocumentオブジェクトは、ここで使われる準備ができています。

  13. ドキュメントはダウンロードされたデータからデータを解析します、したがって、LoadFromUriAsyncに渡されるオリジナルのURLが二度と決して使われないで、データです。そして、それは缶をポイントします。そして、すぐにアンインストール済みです。

  14. ドキュメントが破棄されるとき、それがキャッシュに格納された最初に保存されない限り、一時ファイルはアンインストール済みでしょう。

サンプルのために、参照しますDocumentFactory.LoadFromUriAsync

ストリームからのロード

ストリーム内で保存されるドキュメントからDocumentオブジェクトを作成して、LoadDocumentOptionsのインスタンスを作成して、そしてDocumentFactory.LoadFromStreamにストリームオブジェクトとともにそれを渡すこと:


             var loadDocumentOptions = new LoadDocumentOptions();
             // Initialize loadDocumentOptions as needed
             Document document = DocumentFactory.LoadFromFile(stream, loadDocumentOptions);
             

以下の手順は、このメソッドがどのように機能するかについて説明します:

  1. LoadDocumentOptions.UseCacheは確認されます。値がtrueであるならば、アプリケーションはLoadDocumentOptions.CacheまたはDocumentFactory.Cacheで有効なキャッシュオブジェクトを設定したにちがいありません。さもなければ、例外はスローされます。値がfalseであるならば、新しいドキュメントはキャッシュを使いません。

  2. キャッシュはこのモードでオプションで、要求しませんでした。それが、ページがアプリケーションによって再び訪れられる、または、それの前にキャッシュにドキュメントを保存することが破棄されるならば、ドキュメント画像データまたはテキストを得ている昇速に使われることができます。さもなければ、すべてのデータは、必要に応じてオリジナルのストリームから解析されます。

  3. LoadDocumentOptions.AnnotationsUriの値がnullでないならば、それは同様にディスクファイルにURLを格納しなければなりません。ディスク上で物理的なパスからアノテーションファイルまで新しいウーリオブジェクトを作成することができて、このプロパティでそれを設定することができます。これは、仕組みでfile:///ウーリオブジェクトを作成します。その他の仕組み(httpなどの)は、LoadFromStreamを使うとき、失敗します

  4. ファクトリーは、RasterCodecs.GetInformationを用いてストリームでファイルフォーマットに関する情報を得ます。これが失敗する(無効なファイルフォーマットまたは必須のLEADTOOLSファイルフォーマットアセンブリは見つけられません)ならば、例外はスローされます。

  5. Documentオブジェクトは作成されます、そして、以下のメンバは初期化されます:

    メンバ
    DocumentId ドキュメントがキャッシュに保存されるならば、使われることができるこのドキュメントのために作成される固有識別子。
    ウーリ null
    Stream オリジナルのストリームは、LoadFromStreamに渡しました。
    IsDownloaded ドキュメントからfalseは、ダウンロードされませんでした。
    GetDocumentFileName null
    GetAnnotationsFileName LoadDocumentOptions.AnnotationsUriに渡される同じファイル名を返します。
    DocumentType ドキュメント型。
    MimeType ドキュメントファイルフォーマットのMIME型は、ロードの間、設定しました。
    HasCache LoadDocumentOptions.UseCache.と同じ値
    AutoDeleteFromCache true。アプリケーションがDocumentFactor.LoadFromCacheを用いてあとでキャッシュからこのドキュメントをリロードするならば、falseに変更されることができます。
    AutoSaveToCache false
    InternalObject 文書データを解析するために使用している内部LEADTOOLSオブジェクト。
    UserData null
    IsEncrypted 誤ってドキュメントが暗号化されない限り。この場合、ドキュメントが解読される前に、大部分のドキュメントプロパティが使われることができません。詳細については、「ドキュメントライブラリを使用した暗号化ファイルのロード」を参照してください。
    IsDecrypted false
    IsStructureSupported ドキュメントのMIME型に基づくtrueまたはfalse
    メタデータ 使われる準備ができている。
    構造体 使われる準備ができている。
    イメージ 使われる準備ができている。
    テキスト 使われる準備ができている。
    ページ 使われる準備ができている。
    アノテーション 使われる準備ができている。
  6. LoadFromStreamは、このDocumentオブジェクトが使われる準備ができている返ります。

  7. ドキュメントはオンデマンドでオリジナルのストリームからデータを解析しますので、ドキュメントが生きる間、LoadFromStreamに渡されるオリジナルのストリームはユーザーによって生きていておかれなければなりません。さもなければ、エラーは、ドキュメントデータにアクセスするとき、発生します。

ドキュメントがSaveToCacheを用いてキャッシュに保存されるならば、ストリームのコンテンツ全体はキャッシュに保存されます、そして、ストリームがもはや使われないで、ユーザーによって問題なく破棄されることができます。ドキュメントがその後DocumentFactory.LoadFromCacheを用いてキャッシュからいずれリロードされるとき、外部資源からダウンロードされたので、それは扱われます、そして、ストリーム機能性が使われません(Streamの値はnullであるでしょう)。

サンプルのために、参照しますDocumentFactory.LoadFromStream

参照

参照

ドキュメントライブラリ機能
LEADTOOLSドキュメントライブラリを使用したアップロード
ドキュメントライブラリ座標システム
ドキュメントライブラリを使用した暗号化ファイルのロード
ドキュメントライブラリによるテキストの解析
ドキュメントライブラリによるバーコード処理
LEADTOOLSドキュメントビューワの使用
LEADTOOLSドキュメントコンバーターの使用