EndDocument Method
Summary
Finalize the document being created on disk.
Syntax
C#
Objective-C
C++/CLI
Java
Python
public void EndDocument()
- (BOOL)endDocument:(nullable LTDocumentWriterProgressHandler)progressHandler error:(NSError **)error NS_SWIFT_NAME(endDocument(progress:));
public void endDocument()
public:
void EndDocument();
Example
using Leadtools;
using Leadtools.Codecs;
using Leadtools.Document.Writer;
using Leadtools.Ocr;
public void DocumentWriterExample()
{
var inputFileName = Path.Combine(LEAD_VARS.ImagesDir, "test.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
Debug.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
Debug.WriteLine("Loading page {0}", pageNumber);
var page = new DocumentWriterSvgPage();
page.SvgDocument = codecs.LoadSvg(inputFileName, pageNumber, null);
// Add the page
Debug.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:\LEADTOOLS23\Resources\Images";
}
import static org.junit.Assert.assertTrue;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.IOException;
import org.junit.*;
import org.junit.runner.JUnitCore;
import org.junit.runner.Result;
import org.junit.runner.notification.Failure;
import leadtools.*;
import leadtools.codecs.*;
import leadtools.document.writer.*;
import leadtools.ocr.*;
public void documentWriterExample() {
final String LEAD_VARS_IMAGES_DIR = "C:\\LEADTOOLS23\\Resources\\Images";
String inputFileName = combine(LEAD_VARS_IMAGES_DIR, "LEADTOOLSEditor.docx");
String outputFileName = combine(LEAD_VARS_IMAGES_DIR, "Example.pdf");
// Setup a new RasterCodecs object
RasterCodecs codecs = new RasterCodecs();
codecs.getOptions().getRasterizeDocument().getLoad().setResolution(300);
// Get the number of pages in the input document
ILeadStream leadStream = LeadStreamFactory.create(inputFileName);
int pageCount = codecs.getTotalPages(leadStream);
// Create a new instance of the LEADTOOLS Document Writer
DocumentWriter docWriter = new DocumentWriter();
// Change the PDF options
PdfDocumentOptions pdfOptions = (PdfDocumentOptions) docWriter.getOptions(DocumentFormat.PDF);
pdfOptions.setDocumentType(PdfDocumentType.PDFA);
docWriter.setOptions(DocumentFormat.PDF, pdfOptions);
// Create a new PDF document
System.out.printf("Creating new PDF document: %s", outputFileName);
docWriter.beginDocument(outputFileName, DocumentFormat.PDF);
// Loop through all the pages
for (int pageNumber = 1; pageNumber <= pageCount; pageNumber++) {
// Get the page as SVG
System.out.printf("Loading page %s", pageNumber);
DocumentWriterSvgPage page = new DocumentWriterSvgPage();
page.setSvgDocument(codecs.loadSvg(inputFileName, pageNumber, null));
// Add the page
System.out.printf("Adding page %s", pageNumber);
docWriter.addPage(page);
page.getSvgDocument().dispose();
}
// Finally finish writing the PDF file on disk
docWriter.endDocument();
assertTrue((new File(outputFileName)).exists());
codecs.dispose();
}