Aborts all asynchronous running and pending jobs
public void AbortAllJobs()
Call this method to cause all running and pending jobs started with RunJobAsync to gracefully abort. Notice that this method will only triggers the abortion operation and returns immediately. You must still add synchronization code if your application logic needs to be informed when all jobs are completed/aborted. The JobCompleted event will occur for each job started with RunJobAsync but with AbortAllJobs being triggered, the DocumentConverterJob.Status value of each will be set to DocumentConverterJobStatus.Aborted.
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();
}
}