LEADTOOLS Leadtools.Documents.Converters(Leadtools.Documents.Convertersアセンブリ)

フレームを表示

RunJobAsyncメソッド






実行するDocumentConverterJob。このパラメーターはNullにはできません。有効なDocumentConverterJobを作成する使用CreateJobオブジェクト。
非同期でジョブを実行します。
構文
public void RunJobAsync( 
   DocumentConverterJob job
)
'Declaration
 
Public Sub RunJobAsync( _
   ByVal job As DocumentConverterJob _
) 
'Usage
 
Dim instance As DocumentConverterJobs
Dim job As DocumentConverterJob
 
instance.RunJobAsync(job)
public void runJobAsync(DocumentConverterJob job)
            
public:
void RunJobAsync( 
   DocumentConverterJob^ job
) 

パラメーター

ジョブ
実行するDocumentConverterJob。このパラメーターはNullにはできません。有効なDocumentConverterJobを作成する使用CreateJobオブジェクト。
解説

RunJobAsyncは、同じく、そして、このメソッドを実行するために新しい仕事を作成するために、スレッドプールを使います。メソッドが呼び出されたあと、コントロールは右にユーザーに返されます。RunJobAsyncが実行するを完了するとき、JobCompletedイベントは発生します。同期してジョブを実行するために、RunJobを使います。

メソッドは終わって、そして、ジョブは完了される、DocumentConverterJob.Statusはジョブのステータスを格納します、そして、それが成功していた(DocumentConverterJobStatus.Success)か、エラー(DocumentConverterJobStatus.SuccessWithErrors)で以外完了されたか、ユーザーによって、または、回復可能エラー(DocumentConverterJobStatus.Aborted)による中止されたどうか。

エラーが発生するならば、DocumentConverterJob.Errorsはエラー説明値のリストを格納します。

DocumentConverterOptions.JobErrorModeの値がすべての例外をキャッチして、エラーリストに追加するDocumentConverterJobErrorMode.Continue(デフォルト)に設定されるとき、上記は正しいです。モードがDocumentConverterJobErrorMode.Abortに設定されるならば、例外はエンジンでキャッチされないで、通常通り呼び出しているcodeまで代わりに委任します。

このメソッドを使うために、ジョブのパラメータ(入力ファイル名またはドキュメント、ページ、出力フォーマット、出力ファイル名、アノテーションなど)で新しいDocumentConverterJobDataオブジェクトを初期化します、そして、DocumentConverterJobオブジェクトを作成する使用CreateJobはこのメソッドへのジョブとして渡しました。最後に、DocumentConverterJobを渡しているRunJobを呼び出します。

トレーシングがDocumentConverterDiagnostics.EnableTraceを用いて有効にされるならば、ジョブが実行する間、ロギングとデバッグメッセージは任意のトレースリスナーに送られます。

RunJobが呼び出された直後に、JobStartedイベントはかつて発生します。そして、ジョブが実行されているいろいろな操作に関する情報で実行する間、一つ以上のJobOperationイベントは発生します。最後に、ジョブが完了されるとき、JobCompletedはかつて発生します正常に()、そして、内部作業項目の前の権利は出ます。

RunJobAsyncで開始されたすべての実行と保留のジョブを中止するために、AbortAllJobsを呼び出します。

サンプル
Copy Code  
Imports Leadtools
Imports Leadtools.Codecs
Imports Leadtools.Forms.DocumentWriters
Imports Leadtools.Svg
Imports Leadtools.Documents
Imports Leadtools.Caching
Imports Leadtools.Annotations.Core
Imports Leadtools.Forms.Ocr
Imports Leadtools.Documents.Converters

<TestMethod> _
Public Sub DocumentConverterJobsRunJobAsyncExample()
   Using documentConverter As New DocumentConverter()
      documentConverter.Diagnostics.EnableTrace = True
      Dim inFile As String = Path.Combine(ImagesPath.Path, "Leadtools.docx")
      Dim outFile As String = Path.Combine(ImagesPath.Path, "output.pdf")
      Dim format As DocumentFormat = DocumentFormat.Pdf
      Dim jobData As DocumentConverterJobData = DocumentConverterJobs.CreateJobData(inFile, outFile, format)
      jobData.JobName = "conversion job"

      Dim job As DocumentConverterJob = documentConverter.Jobs.CreateJob(jobData)

      Dim finished As AutoResetEvent = Nothing

      Dim completed As EventHandler(Of DocumentConverterJobEventArgs) = Nothing
      completed =
         Sub(sender, e)
         If e.Status = DocumentConverterJobStatus.Success Then
            Console.WriteLine("Success")
         Else
            Console.WriteLine("{0} Errors", e.Status)
            For Each errorItem As DocumentConverterJobError In e.Job.Errors
               Console.WriteLine("  {0} at {1}: {2}", errorItem.Operation, errorItem.InputDocumentPageNumber, errorItem.Error.Message)
            Next
         End If

         Dim thisJobs As DocumentConverterJobs = TryCast(sender, DocumentConverterJobs)
         RemoveHandler thisJobs.JobCompleted, completed

         finished.Set()

      End Sub

      AddHandler documentConverter.Jobs.JobCompleted, completed

      finished = New AutoResetEvent(False)
      documentConverter.Jobs.RunJobAsync(job)
      finished.WaitOne()
   End Using
End Sub
using Leadtools;
using Leadtools.Codecs;
using Leadtools.Forms.DocumentWriters;
using Leadtools.Svg;
using Leadtools.Documents;
using Leadtools.Caching;
using Leadtools.Annotations.Core;
using Leadtools.Forms.Ocr;
using Leadtools.Documents.Converters;

[TestMethod]
public void DocumentConverterJobsRunJobAsyncExample()
{
   using (DocumentConverter documentConverter = new DocumentConverter())
   {
      documentConverter.Diagnostics.EnableTrace = true;
      var inFile = Path.Combine(ImagesPath.Path, @"Leadtools.doc");
      var outFile = Path.Combine(ImagesPath.Path, @"output.pdf");
      var format = DocumentFormat.Pdf;
      var jobData = DocumentConverterJobs.CreateJobData(inFile, outFile, format);
      jobData.JobName = "conversion job";

      var job = documentConverter.Jobs.CreateJob(jobData);

      AutoResetEvent finished = null;

      EventHandler<DocumentConverterJobEventArgs> completed = null;
      completed = (sender, e) =>
      {
         if (e.Status == DocumentConverterJobStatus.Success)
         {
            Console.WriteLine("Success");
         }
         else
         {
            Console.WriteLine("{0} Errors", e.Status);
            foreach (var error in e.Job.Errors)
            {
               Console.WriteLine("  {0} at {1}: {2}", error.Operation, error.InputDocumentPageNumber, error.Error.Message);
            }
         }

         var thisJobs = sender as DocumentConverterJobs;
         thisJobs.JobCompleted -= completed;

         finished.Set();
      };

      documentConverter.Jobs.JobCompleted += completed;

      finished = new AutoResetEvent(false);
      documentConverter.Jobs.RunJobAsync(job);
      finished.WaitOne();
   }
}
必要条件

ターゲットプラットホーム

参照

参照

DocumentConverterJobsクラス
DocumentConverterJobsメンバ
LEADTOOLSドキュメントコンバーターの使用

   Leadtools.Documents.Convertersは、DocumentまたはMedicalツールキットのライセンスと、解除キーが必要です。詳細は、以下を参照してください。LEADTOOLSツールキット機能