←Select platform

UploadDocumentOptions Property

Summary

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

Syntax
C#
VB
C++
public UploadDocumentOptions UploadDocumentOptions { get; set; } 
Public Property UploadDocumentOptions() As UploadDocumentOptions 
   Get 
   Set 
public:  
   property UploadDocumentOptions^ UploadDocumentOptions 
   { 
      UploadDocumentOptions^ get() 
      void set(UploadDocumentOptions^ value) 
   } 

Property Value

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

Remarks

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.

Example

The following example will save a document to the cache, then convert it and automatically upload it.

C#
VB
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; 
 
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, false)) 
   { 
      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); 
   } 
} 
Imports Leadtools 
Imports Leadtools.Codecs 
Imports Leadtools.Document.Writer 
Imports Leadtools.Svg 
Imports Leadtools.Document 
Imports Leadtools.Caching 
Imports Leadtools.Annotations.Engine 
Imports Leadtools.Ocr 
Imports Leadtools.Document.Converter 
Imports LeadtoolsDocumentConverterExamples.LeadtoolsExamples.Common 
 
Public Shared Sub UploadToCacheExample() 
   ' We will be converting this TIFF file to PDF 
   Dim imageUrl As String = "https://demo.leadtools.com/images/tiff/ocr.tif" 
   ' Download the final document to this file 
   Dim outputFile As String = "c:\temp\output.pdf" 
   Dim inputDocumentId As String = Nothing 
   Dim outputDocumentUrl As Uri = Nothing 
 
   ' Setup the cache 
   Dim cache As New FileCache() 
   cache.CacheDirectory = "c:\temp\cache" 
 
   ' Load the document And save it to the cache 
   Dim loadDocumentOptions As New LoadDocumentOptions() 
   loadDocumentOptions.Cache = cache 
   Console.WriteLine("Saving input document into the cache") 
   Using document As LEADDocument = 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() 
   End Using 
 
   ' Convert the document to PDF And automatically upload it 
   Using ocrEngine As IOcrEngine = OcrEngineManager.CreateEngine(OcrEngineType.LEAD, False) 
      ocrEngine.Startup(Nothing, Nothing, Nothing, Nothing) 
      Using documentConverter As New DocumentConverter() 
         documentConverter.SetOcrEngineInstance(ocrEngine, False) 
         Dim jobData As New DocumentConverterJobData() 
         ' Input 
         jobData.DocumentId = inputDocumentId 
         jobData.Cache = cache 
 
         ' Output, upload to the same cache as a New document 
         Dim uploadDocumentOptions As New UploadDocumentOptions() 
         uploadDocumentOptions.Cache = cache 
         jobData.UploadDocumentOptions = uploadDocumentOptions 
 
         ' Options 
         jobData.DocumentFormat = DocumentFormat.Pdf 
 
         ' Run 
         Console.WriteLine("Converting {0} and uploading", inputDocumentId) 
         Dim job As DocumentConverterJob = documentConverter.Jobs.CreateJob(jobData) 
         documentConverter.Jobs.RunJob(job) 
 
         Console.WriteLine(job.Status) 
         If job.Status <> DocumentConverterJobStatus.Aborted Then 
            Console.WriteLine("Downloading {0}", job.UploadDocumentUri) 
            ' Download it from the cache to the output file 
            Using stream As Stream = File.Create(outputFile) 
               Dim downloadDocumentOptions As New DownloadDocumentOptions() 
               downloadDocumentOptions.Cache = cache 
               downloadDocumentOptions.DocumentId = job.UploadDocumentUri.ToString() 
               downloadDocumentOptions.Offset = 0 
               downloadDocumentOptions.Length = -1 
               downloadDocumentOptions.Stream = stream 
               DocumentFactory.DownloadDocument(downloadDocumentOptions) 
            End Using 
 
            outputDocumentUrl = job.UploadDocumentUri 
 
            Process.Start(outputFile) 
         End If 
      End Using 
   End Using 
 
   ' Clean up 
   Dim deleteFromCacheOptions As New LoadFromCacheOptions() 
   deleteFromCacheOptions.Cache = cache 
   If Not inputDocumentId Is Nothing Then 
      deleteFromCacheOptions.DocumentId = inputDocumentId 
      DocumentFactory.DeleteFromCache(deleteFromCacheOptions) 
   End If 
   If Not outputDocumentUrl Is Nothing Then 
      deleteFromCacheOptions.DocumentId = outputDocumentUrl.ToString() 
      DocumentFactory.DeleteFromCache(deleteFromCacheOptions) 
   End If 
End Sub 

Requirements

Target Platforms

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

Leadtools.Document.Converter Assembly