←Select platform

JobCompleted Event

Summary

Occurs when a job is completed or aborted.

Syntax
C#
C++/CLI
Java
Python
public event EventHandler<DocumentConverterJobEventArgs> JobCompleted 
public:  
   event EventHandler<Leadtools::Documents::Converters::DocumentConverterJobEventArgs^>^ JobCompleted 
public void addJobCompletedListener(DocumentConverterJobEventListener listener) 
public void removeJobCompletedListener(DocumentConverterJobEventListener listener) 
def JobCompleted(sender,e): # sender: DocumentConverterJobs e: DocumentConverterJobEventArgs 
Remarks

This event will occur when RunJob or RunJobAsync is finished running.

You can use this event to keep track of the number of jobs pending running. You can also examine DocumentConverterJobEventArgs.Job to get information on whether job finished successfully and get error status if any. RunJob example shows complete source code of how to easily accomplish these tasks in your application.

The JobStarted will occur exactly once per job. DocumentConverterJobEventArgs.IsPostOperation will always be false.

The JobCompleted event will always occur when a job is finished running whether the job is aborted or completed.

The JobStarted event occurs when a job is about to start.

Example
C#
Java
using Leadtools; 
using Leadtools.Codecs; 
using Leadtools.Document.Writer; 
using Leadtools.Svg; 
using LeadtoolsExamples.Common; 
using Leadtools.Document; 
using Leadtools.Caching; 
using Leadtools.Annotations.Engine; 
using Leadtools.Ocr; 
using Leadtools.Document.Converter; 
using Leadtools.Annotations.Rendering; 
 
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(); 
   } 
} 
 
import static org.junit.Assert.assertTrue; 
 
import java.io.File; 
import java.io.FileOutputStream; 
import java.io.IOException; 
import java.net.URI; 
import java.util.concurrent.Executors; 
import java.util.logging.ConsoleHandler; 
import java.util.logging.Handler; 
import java.util.logging.Level; 
import java.util.logging.Logger; 
 
import org.junit.*; 
import org.junit.runner.JUnitCore; 
import org.junit.runner.Result; 
import org.junit.runner.notification.Failure; 
 
import leadtools.*; 
import leadtools.annotations.rendering.AnnJavaRenderingEngine; 
import leadtools.caching.FileCache; 
import leadtools.codecs.*; 
import leadtools.document.DocumentFactory; 
import leadtools.document.DownloadDocumentOptions; 
import leadtools.document.LEADDocument; 
import leadtools.document.LoadDocumentOptions; 
import leadtools.document.LoadFromCacheOptions; 
import leadtools.document.UploadDocumentOptions; 
import leadtools.document.converter.DocumentConverter; 
import leadtools.document.converter.DocumentConverterEmptyPageMode; 
import leadtools.document.converter.DocumentConverterJob; 
import leadtools.document.converter.DocumentConverterJobData; 
import leadtools.document.converter.DocumentConverterJobError; 
import leadtools.document.converter.DocumentConverterJobErrorMode; 
import leadtools.document.converter.DocumentConverterJobStatus; 
import leadtools.document.converter.DocumentConverterJobs; 
import leadtools.document.writer.DocumentFormat; 
import leadtools.document.writer.DocumentWriter; 
import leadtools.ocr.OcrEngine; 
import leadtools.ocr.OcrEngineManager; 
import leadtools.ocr.OcrEngineType; 
 
 
public void documentConverterJobsRunJobAsyncExample() { 
   // ASYNC IS NOT IN JAVA 
} 
Event Data
ParameterTypeDescription
senderobjectThe source of the event.
eDocumentConverterJobEventArgsThe event data.
Requirements

Target Platforms

Help Version 23.0.2024.2.29
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2024 LEAD Technologies, Inc. All Rights Reserved.

Leadtools.Document.Converter Assembly
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2023 LEAD Technologies, Inc. All Rights Reserved.