public string FileName { get; }
The name of the file that was created by the PdfCompressorEngine.WriteAsync(string,object) operation. If the PdfCompressorEngine.WriteAsyncCompleted Event was fired by a PdfCompressorEngine.WriteAsync(Stream,object) operation, this property will be null.
This property is valid only if the event was fired in response to a PdfCompressorEngine.WriteAsync(string,object) operation.
The output file contains valid PDF data only if the operation succeeded. Refer to PdfCompressorWriteAsyncCompletedEventArgs for more details on determining whether the operation succeeded.
using Leadtools;using Leadtools.Codecs;using Leadtools.PdfCompressor;/* This example shows a how to use the PdfCompressorEngine::WriteAsync method to create a Pdf asynchronously.* The output file is very simple and contains a single image.* We will store the RasterImage and RasterImage and PdfCompressorEngine in a user class so we can dispose them* when WriteAsync finishes and fires the WriteAsyncCompleted event.*//* Class used to store the RasterImage and PdfCompressorEngine objects */private class WriteAsyncDataStringObject{public RasterImage image; /* image to write as Pdf */public PdfCompressorEngine pdfCompressor; /* compressor object that will do the save */};/* Handler for the WriteAsyncCompleted event */private static void OnWriteAsyncCompletedStringObject(object sender, PdfCompressorWriteAsyncCompletedEventArgs args){if (args.Error != null)Debug.WriteLine($"WriteAsyncThread: The save operation failed with exception = {args.Error.Message}.");else if (args.Cancelled)Debug.WriteLine($"WriteAsyncThread: The save operation was cancelled!");elseDebug.WriteLine($"WriteAsyncThread: The save operation succeeded! Saved as {args.FileName}");/* clean up the data used by WriteAsync operation */WriteAsyncDataStringObject data = (WriteAsyncDataStringObject)args.UserState;data.pdfCompressor.Dispose();data.image.Dispose();if (args.Stream != null)args.Stream.Close();}/* Main function calling PdfCompressorEngine.WriteAsync. Note that WriteAsync will finish after this function returns */public void TestPdfCompressorSaveAsyncStringObject(){string srcFile = Path.Combine(LEAD_VARS.ImagesDir, "glare.jpg");string dstFile = Path.Combine(LEAD_VARS.ImagesDir, "out.pdf");WriteAsyncDataStringObject data = new WriteAsyncDataStringObject();using (RasterCodecs codecs = new RasterCodecs())data.image = codecs.Load(srcFile);data.pdfCompressor = new PdfCompressorEngine();data.pdfCompressor.Insert(data.image);/* Register OnWriteAsyncCompleted as a handler for the WriteAsyncCompleted event */data.pdfCompressor.WriteAsyncCompleted += OnWriteAsyncCompletedStringObject;data.pdfCompressor.WriteAsync(dstFile, data);Debug.WriteLine("MainThread: WriteAsync returned...");}static class LEAD_VARS{public const string ImagesDir = @"C:\LEADTOOLS22\Resources\Images";}