UploadDocumentOptions Property (original) (raw)

Summary

Options to use for automatically uploading the converted document to the cache.

Syntax

Property Value

Options to use for automatically upload the converted document to the cache. Default value is null.

Example

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 PDF string imageUrl = "https://demo.leadtools.com/images/tiff/ocr.tif"; // Download the final document to this file string outputFile = @"c:\temp\output.pdf"; string inputDocumentId = null; Uri outputDocumentUrl = null; // Setup the cache FileCache cache = new FileCache(); cache.CacheDirectory = @"c:\temp\cache"; // Load the document and save it to the cache var 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 later inputDocumentId = document.DocumentId; // Make sure the document persist on the cache after we dispose it document.AutoSaveToCache = false; document.AutoDeleteFromCache = false; document.SaveToCache(); } // Convert the document to PDF and automatically upload it using (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(); // Input jobData.DocumentId = inputDocumentId; jobData.Cache = cache; // Output, upload to the same cache as a new document var uploadDocumentOptions = new UploadDocumentOptions(); uploadDocumentOptions.Cache = cache; jobData.UploadDocumentOptions = uploadDocumentOptions; // Options jobData.DocumentFormat = DocumentFormat.Pdf; // Run Console.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 file using (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 up var 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); } }