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
Java
Objective-C
WinRT C#
C++
public class DocumentWriter
Public Class DocumentWriter
public sealed class DocumentWriter
@interface LTDocumentWriter : NSObject
public class DocumentWriter
function Leadtools.Forms.DocumentWriters.DocumentWriter()
public ref class DocumentWriter
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 DocumentEmfPage and for an example on creating mixed documents from SVG, EMF and empty pages, refer to DocumentRasterPage.
Imports Leadtools
Imports Leadtools.Codecs
Imports Leadtools.Forms.DocumentWriters
Imports Leadtools.Forms.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 DocumentSvgPage()
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
using Leadtools;
using Leadtools.Codecs;
using Leadtools.Forms.DocumentWriters;
using Leadtools.Forms.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 DocumentSvgPage();
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();
}