Options to use for automatically uploading the converted document to the cache.
public UploadDocumentOptions UploadDocumentOptions { get; set; }
Options to use for automatically upload the converted document to the cache. Default value is null.
One output must be specified for the conversion to be successful: One of OutputAnnotationsFileName, OutputDocumentStream or UploadDocumentOptions must not be null.
If UploadDocumentUri is specified, then DocumentConverter will perform the following:
Convert the document as usual to either a temporary file or stream depending on the value of RasterDefaults.TempFileMode.
If the conversion is successful, the converter will then upload the result document using uploadDocumentOptions to upload the document to the cache. The uploaded document URI will be stored in DocumentConverterJob.UploadDocumentUri.
The following example will save a document to the cache, then convert it and automatically upload it.
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 static void UploadToCacheExample(){// We will be converting this TIFF file to PDFstring imageUrl = "https://demo.leadtools.com/images/tiff/ocr.tif";// Download the final document to this filestring outputFile = @"c:\temp\output.pdf";string inputDocumentId = null;Uri outputDocumentUrl = null;// Setup the cacheFileCache cache = new FileCache();cache.CacheDirectory = @"c:\temp\cache";// Load the document and save it to the cachevar loadDocumentOptions = new LoadDocumentOptions();loadDocumentOptions.Cache = cache;Console.WriteLine("Saving input document into the cache");using (LEADDocument document = DocumentFactory.LoadFromUri(new Uri(imageUrl), loadDocumentOptions)){// Store the document ID to use it laterinputDocumentId = document.DocumentId;// Make sure the document persist on the cache after we dispose itdocument.AutoSaveToCache = false;document.AutoDeleteFromCache = false;document.SaveToCache();}// Convert the document to PDF and automatically upload itusing (var ocrEngine = OcrEngineManager.CreateEngine(OcrEngineType.LEAD)){ocrEngine.Startup(null, null, null, null);using (var documentConverter = new DocumentConverter()){documentConverter.SetOcrEngineInstance(ocrEngine, false);var jobData = new DocumentConverterJobData();// InputjobData.DocumentId = inputDocumentId;jobData.Cache = cache;// Output, upload to the same cache as a new documentvar uploadDocumentOptions = new UploadDocumentOptions();uploadDocumentOptions.Cache = cache;jobData.UploadDocumentOptions = uploadDocumentOptions;// OptionsjobData.DocumentFormat = DocumentFormat.Pdf;// RunConsole.WriteLine("Converting {0} and uploading", inputDocumentId);var job = documentConverter.Jobs.CreateJob(jobData);documentConverter.Jobs.RunJob(job);Console.WriteLine(job.Status);if (job.Status != DocumentConverterJobStatus.Aborted){Console.WriteLine("Downloading {0}", job.UploadDocumentUri);// Download it from the cache to the output fileusing (var stream = File.Create(outputFile)){var downloadDocumentOptions = new DownloadDocumentOptions();downloadDocumentOptions.Cache = cache;downloadDocumentOptions.DocumentId = job.UploadDocumentUri.ToString();downloadDocumentOptions.Offset = 0;downloadDocumentOptions.Length = -1;downloadDocumentOptions.Stream = stream;DocumentFactory.DownloadDocument(downloadDocumentOptions);}outputDocumentUrl = job.UploadDocumentUri;Process.Start(outputFile);}}}// Clean upvar deleteFromCacheOptions = new LoadFromCacheOptions();deleteFromCacheOptions.Cache = cache;if (inputDocumentId != null){deleteFromCacheOptions.DocumentId = inputDocumentId;DocumentFactory.DeleteFromCache(deleteFromCacheOptions);}if (outputDocumentUrl != null){deleteFromCacheOptions.DocumentId = outputDocumentUrl.ToString();DocumentFactory.DeleteFromCache(deleteFromCacheOptions);}}