←Select platform

DocumentWriter Class

Summary

Support for creating document files such as PDF, XPS, DOC, HTML, RTF, or Text from Scalable Vector Graphics (SVG), Windows Enhanced Meta Files (EMF) or raster images.

Syntax
C#
VB
Objective-C
C++
Java
public class DocumentWriter 
Public Class DocumentWriter  
@interface LTDocumentWriter : NSObject 
public class DocumentWriter 
public ref class DocumentWriter  

Remarks

The DocumentWriter class is used to create multipage and searchable documents from one or more SVG, EMF or raster image based pages. Refer to LEADTOOLS Document Writers for more information.

Support for various popular formats is included, such as PDF, DOC/DOCX, HTML, RTF, XPS or Text. For a list of all the document formats supported, refer to the DocumentFormat enumeration.

Example

This example shows how to create document file from SVG-based pages using basic functionality of the DocumentWriter class. For an example on creating documents from EMF objects, refer to DocumentWriterEmfPage and for an example on creating mixed documents from SVG, EMF and empty pages, refer to DocumentWriterRasterPage.

C#
VB
using Leadtools; 
using Leadtools.Codecs; 
using Leadtools.Document.Writer; 
using Leadtools.Ocr; 
 
public void DocumentWriterExample() 
{ 
   var inputFileName = Path.Combine(LEAD_VARS.ImagesDir, "Leadtools.docx"); 
   var outputFileName = Path.Combine(LEAD_VARS.ImagesDir, "Example.pdf"); 
 
   // Setup a new RasterCodecs object 
   var codecs = new RasterCodecs(); 
   codecs.Options.RasterizeDocument.Load.Resolution = 300; 
 
   // Get the number of pages in the input document 
   var pageCount = codecs.GetTotalPages(inputFileName); 
 
   // Create a new instance of the LEADTOOLS Document Writer 
   var docWriter = new DocumentWriter(); 
 
   // Change the PDF options 
   var pdfOptions = docWriter.GetOptions(DocumentFormat.Pdf) as PdfDocumentOptions; 
   pdfOptions.DocumentType = PdfDocumentType.PdfA; 
   docWriter.SetOptions(DocumentFormat.Pdf, pdfOptions); 
 
   // Create a new PDF document 
   Console.WriteLine("Creating new PDF document: {0}", outputFileName); 
   docWriter.BeginDocument(outputFileName, DocumentFormat.Pdf); 
 
   // Loop through all the pages 
   for (var pageNumber = 1; pageNumber <= pageCount; pageNumber++) 
   { 
      // Get the page as SVG 
      Console.WriteLine("Loading page {0}", pageNumber); 
      var page = new DocumentWriterSvgPage(); 
      page.SvgDocument = codecs.LoadSvg(inputFileName, pageNumber, null); 
 
      // Add the page 
      Console.WriteLine("Adding page {0}", pageNumber); 
      docWriter.AddPage(page); 
 
      page.SvgDocument.Dispose(); 
   } 
 
   // Finally finish writing the PDF file on disk 
   docWriter.EndDocument(); 
   codecs.Dispose(); 
} 
 
static class LEAD_VARS 
{ 
   public const string ImagesDir = @"C:\Users\Public\Documents\LEADTOOLS Images"; 
} 
Imports Leadtools 
Imports Leadtools.Codecs 
Imports Leadtools.Document.Writer 
Imports Leadtools.Ocr 
 
Public Sub DocumentWriterExample() 
   Dim inputFileName As String = Path.Combine(LEAD_VARS.ImagesDir, "Leadtools.docx") 
   Dim outputFileName As String = Path.Combine(LEAD_VARS.ImagesDir, "Example.pdf") 
 
   ' Setup a new RasterCodecs object 
   Dim codecs As New RasterCodecs() 
   codecs.Options.RasterizeDocument.Load.Resolution = 300 
 
   ' Get the number of pages in the input document 
   Dim pageCount As Integer = codecs.GetTotalPages(inputFileName) 
 
   ' Create a new instance of the LEADTOOLS Document Writer 
   Dim docWriter As New DocumentWriter() 
 
   ' Change the PDF options 
   Dim pdfOptions As PdfDocumentOptions = DirectCast(docWriter.GetOptions(DocumentFormat.Pdf), PdfDocumentOptions) 
   pdfOptions.DocumentType = PdfDocumentType.PdfA 
   docWriter.SetOptions(DocumentFormat.Pdf, pdfOptions) 
 
   ' Create a new PDF document 
   Console.WriteLine("Creating new PDF document: {0}", outputFileName) 
   docWriter.BeginDocument(outputFileName, DocumentFormat.Pdf) 
 
   ' Loop through all the pages 
   For pageNumber As Integer = 1 To pageCount 
      ' Get the page as SVG 
      Console.WriteLine("Loading page {0}", pageNumber) 
      Dim page As New DocumentWriterSvgPage() 
      page.SvgDocument = codecs.LoadSvg(inputFileName, pageNumber, Nothing) 
 
      ' Add the page 
      Console.WriteLine("Adding page {0}", pageNumber) 
      docWriter.AddPage(page) 
 
      page.SvgDocument.Dispose() 
   Next 
 
   ' Finally finish writing the PDF file on disk 
   docWriter.EndDocument() 
   codecs.Dispose() 
End Sub 
 
Public NotInheritable Class LEAD_VARS 
   Public Const ImagesDir As String = "C:\Users\Public\Documents\LEADTOOLS Images" 
End Class 

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.Writer Assembly