convert Method

Summary

Converts this document to any supported format using SVG, OCR, and Raster technologies.

Syntax
TypeScript
JavaScript
LEADDocument.prototype.convert = function( 
   jobData 
) 

Parameters

jobData

The job data.

Return Value

A Promise object that can resolve successfully to an object of type DocumentConvertResult object.

Remarks

The Convert method allows a document to be converted to any of the supported formats with minimal amount of code.

The output document types can be any type of file format supported by LEADTOOLS, including:

  • Adobe Acrobat PDF and PDF/A
  • Microsoft Office DOC/DOCX, XLS/XLSX and PPT/PPTX
  • CAD formats such as DXF, DWG and DWF
  • TIFF, JPEG, PNG, EXIF, BMP and hundred more raster image formats
  • Plain Text and RTF
  • HTML
  • ePub

The Convert method will analyze the input and output document types and then automatically use a combination of the LEADTOOLS Raster, SVG, and OCR engines to convert the data using the best possible combination of accuracy and speed. Each conversion operation is called a Document Converter Job in the framework.

Example

This example will show how to load a PDF document and convert it to Microsoft Word DOCX.

Convert.ts
DocumentHelper.ts
Convert.js
DocumentHelper.js
Convert.html
import { DocumentHelper } from "../../utilities/DocumentHelper"; 
 
export class LEADDocument_ConvertExample { 
   public constructor() { 
      lt.RasterSupport.setLicenseUri("https://demo.leadtools.com/licenses/v200/LEADTOOLSEVAL.txt", "EVAL", null); 
      DocumentHelper.initFactory(); 
   } 
 
   public run = (buttonID: string) => { 
      const exampleButton = document.getElementById(buttonID); 
      exampleButton.onclick = this.convert; 
   } 
 
   /** 
     * Converts a LEADDocument 
     */ 
   convert = () => { 
      const url = "https://demo.leadtools.com/images/pdf/leadtools.pdf"; 
      const loadDocumentOptions = new lt.Document.LoadDocumentOptions(); 
 
      DocumentHelper.log("Loading document..."); 
      lt.Document.DocumentFactory.loadFromUri(url, loadDocumentOptions) 
         .done((document: lt.Document.LEADDocument) => { 
            DocumentHelper.log("Loaded, converting..."); 
            const jobData = new lt.Document.DocumentConverterJobData(); 
            jobData.documentFormat = lt.Document.Writer.DocumentFormat.docx; 
            jobData.rasterImageFormat = lt.Document.RasterImageFormat.unknown; 
 
            // Set document options 
            const docxOptions = new lt.Document.Writer.DocxDocumentOptions(); 
            docxOptions.textMode = lt.Document.Writer.DocumentTextMode.auto; 
            jobData.documentOptions = docxOptions; 
 
            document.convert(jobData) 
               .done((result: any) => { 
                  // This is generic code, we know the result is in "document" since DOCX supports that 
                  // But this code checks if the results have been archived into a ZIP file if this 
                  // example was converting to, say SVG 
                  const resultDocument = result.document != null ? result.document.url : result.archive.url; 
                  const link = window.document.createElement("a"); 
                  const url = lt.Document.DocumentFactory.serviceUri + "/" + resultDocument; 
                  link.href = url; 
                  link.innerHTML = url; 
                  link.target = "_default"; 
                  DocumentHelper.log("Converted: " + url, url); 
 
               }) 
               .fail(DocumentHelper.showServiceError); 
         }) 
         .fail(DocumentHelper.showServiceError); 
   } 
} 
export class DocumentHelper { 
   static showServiceError = (jqXHR, statusText, errorThrown) => { 
      alert("Error returned from service. See the console for details."); 
      const serviceError = lt.Document.ServiceError.parseError(jqXHR, statusText, errorThrown); 
      console.error(serviceError); 
   } 
 
   static log = (message: string, data?: any) => { 
      const outputElement = document.getElementById("output"); 
      if (outputElement) { 
         const time = (new Date()).toLocaleTimeString(); 
         const textElement = document.createElement("p"); 
         textElement.innerHTML = (outputElement.childElementCount + 1) + " [" + time + "]: " + message; 
         outputElement.insertBefore(textElement, outputElement.firstChild); 
      } 
 
      if (!data) 
         console.log(message); 
      else 
         console.log(message, data); 
   } 
 
   static initFactory = () => { 
      // To communicate with the DocumentsService, it must be running! 
      // Change these parameters to match the path to the service. 
      lt.Document.DocumentFactory.serviceHost = "http://localhost:40000"; 
      lt.Document.DocumentFactory.servicePath = ""; 
      lt.Document.DocumentFactory.serviceApiPath = "api"; 
   } 
} 
import { DocumentHelper } from "../../utilities/DocumentHelper"; 
 
export class LEADDocument_ConvertExample { 
   constructor() { 
      lt.RasterSupport.setLicenseUri("https://demo.leadtools.com/licenses/v200/LEADTOOLSEVAL.txt", "EVAL", null); 
      DocumentHelper.initFactory(); 
   } 
 
   run = (buttonID) => { 
      const exampleButton = document.getElementById(buttonID); 
      exampleButton.onclick = this.convert; 
   } 
 
   /** 
     * Converts a LEADDocument 
     */ 
   convert = () => { 
      const url = "https://demo.leadtools.com/images/pdf/leadtools.pdf"; 
      const loadDocumentOptions = new lt.Document.LoadDocumentOptions(); 
 
      DocumentHelper.log("Loading document..."); 
      lt.Document.DocumentFactory.loadFromUri(url, loadDocumentOptions) 
         .done((document) => { 
            DocumentHelper.log("Loaded, converting..."); 
            const jobData = new lt.Document.DocumentConverterJobData(); 
            jobData.documentFormat = lt.Document.Writer.DocumentFormat.docx; 
            jobData.rasterImageFormat = lt.Document.RasterImageFormat.unknown; 
 
            // Set document options 
            const docxOptions = new lt.Document.Writer.DocxDocumentOptions(); 
            docxOptions.textMode = lt.Document.Writer.DocumentTextMode.auto; 
            jobData.documentOptions = docxOptions; 
 
            document.convert(jobData) 
               .done((result) => { 
                  // This is generic code, we know the result is in "document" since DOCX supports that 
                  // But this code checks if the results have been archived into a ZIP file if this 
                  // example was converting to, say SVG 
                  const resultDocument = result.document != null ? result.document.url : result.archive.url; 
                  const link = window.document.createElement("a"); 
                  const url = lt.Document.DocumentFactory.serviceUri + "/" + resultDocument; 
                  link.href = url; 
                  link.innerHTML = url; 
                  link.target = "_default"; 
                  DocumentHelper.log("Converted: " + url, url); 
 
               }) 
               .fail(DocumentHelper.showServiceError); 
         }) 
         .fail(DocumentHelper.showServiceError); 
   } 
} 
export class DocumentHelper { 
   static showServiceError = (jqXHR, statusText, errorThrown) => { 
      alert("Error returned from service. See the console for details."); 
      const serviceError = lt.Document.ServiceError.parseError(jqXHR, statusText, errorThrown); 
      console.error(serviceError); 
   } 
 
   static log = (message, data) => { 
      const outputElement = document.getElementById("output"); 
      if (outputElement) { 
         const time = (new Date()).toLocaleTimeString(); 
         const textElement = document.createElement("p"); 
         textElement.innerHTML = (outputElement.childElementCount + 1) + " [" + time + "]: " + message; 
         outputElement.insertBefore(textElement, outputElement.firstChild); 
      } 
 
      if (!data) 
         console.log(message); 
      else 
         console.log(message, data); 
   } 
 
   static initFactory = () => { 
      // To communicate with the DocumentsService, it must be running! 
      // Change these parameters to match the path to the service. 
      lt.Document.DocumentFactory.serviceHost = "http://localhost:40000"; 
      lt.Document.DocumentFactory.servicePath = ""; 
      lt.Document.DocumentFactory.serviceApiPath = "api"; 
   } 
} 
<!doctype html> 
<html lang="en"> 
<title>Document Example | Convert</title> 
 
<head> 
   <script src="https://code.jquery.com/jquery-2.2.4.min.js" 
      integrity="sha256-BbhdlvQf/xTY9gja0Dq3HiwQF8LaCRTXxZKRutelT44=" crossorigin="anonymous"></script> 
 
   <script src="../../LT/Leadtools.js"></script> 
   <script src="../../LT/Leadtools.Controls.js"></script> 
   <script src="../../LT/Leadtools.Annotations.Engine.js"></script> 
   <script src="../../LT/Leadtools.Annotations.Designers.js"></script> 
   <script src="../../LT/Leadtools.Annotations.Rendering.Javascript.js"></script> 
   <script src="../../LT/Leadtools.Annotations.Automation.js"></script> 
   <script src="../../LT/Leadtools.ImageProcessing.Main.js"></script> 
   <script src="../../LT/Leadtools.ImageProcessing.Color.js"></script> 
   <script src="../../LT/Leadtools.ImageProcessing.Core.js"></script> 
   <script src="../../LT/Leadtools.ImageProcessing.Effects.js"></script> 
   <script src="../../LT/Leadtools.Document.js"></script> 
   <script src="../../LT/Leadtools.Document.Viewer.js"></script> 
   <link rel="stylesheet" type="text/css" href="../../css/examples.css"> 
 
   <!-- All demo files are bundled and appended to the window --> 
   <script src="../../bundle.js" type="text/javascript"></script> 
</head> 
 
<body> 
   <div> 
      <button type="button" id="exampleButton">Run Example</button> 
   </div> 
   <div id="output"></div> 
   <div> 
      <img id="img" /> 
   </div> 
</body> 
 
<script> 
   window.onload = () => { 
      const example = new window.examples.LEADDocument.Convert(); 
      example.run("exampleButton"); 
   }; 
</script> 
</html> 

Requirements

Target Platforms

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

Leadtools.Document Assembly