LtdDocumentOptions Class (original) (raw)

Summary

Provides extra options to use when saving a document using the LEADTOOLS Temporary Document (LTD) format.

Syntax

C#

Objective-C

C++/CLI

Java

Python

[SerializableAttribute()] [DataContractAttribute()] public class LtdDocumentOptions : [DocumentOptions](documentoptions.html)

@interface LTLtdDocumentOptions : LTDocumentOptions<NSCopying, NSCoding> 
public class LtdDocumentOptions extends DocumentOptions 

[DataContractAttribute()] [SerializableAttribute()] public ref class LtdDocumentOptions : public [DocumentOptions](documentoptions.html)

class LtdDocumentOptions(DocumentOptions): 

Example

This example will create a new LEADTOOLS Temporary Document (LTD) over multiple sessions then convert the result to a PDF file.

using Leadtools.Document.Writer; using Leadtools; using Leadtools.Codecs; public void LtdDocumentOptionsExample() { var inputFileName = Path.Combine(LEAD_VARS.ImagesDir, "test_2.docx"); var outputFileName = Path.Combine(LEAD_VARS.ImagesDir, "test_Example_password.pdf"); var ltdFileName = Path.Combine(LEAD_VARS.ImagesDir, "Example2.ltd"); // Check if the LTD file exists, if so, delete it so we start a new session if (File.Exists(ltdFileName)) File.Delete(ltdFileName); // Get the number of pages int pageCount; using (var codecs = new RasterCodecs()) { codecs.Options.RasterizeDocument.Load.Resolution = 300; pageCount = codecs.GetTotalPages(inputFileName); } // Loop through the pages and add them to the LTD for (var pageNumber = 1; pageNumber <= pageCount; pageNumber++) { AppendToLtd(inputFileName, pageNumber, ltdFileName); } // Create a new instance of the LEADTOOLS Document Writer var docWriter = new DocumentWriter(); // Set the PDF options to be PDF/A with Image/Text var pdfOptions = docWriter.GetOptions(DocumentFormat.Pdf) as PdfDocumentOptions; pdfOptions.DocumentType = PdfDocumentType.PdfA; pdfOptions.ImageOverText = true; docWriter.SetOptions(DocumentFormat.Pdf, pdfOptions); // Now convert the LTD file we generated to PDF Debug.WriteLine("Converting LTD to PDF"); docWriter.Convert(ltdFileName, outputFileName, DocumentFormat.Pdf); } private void AppendToLtd(string inputFileName, int pageNumber, string ltdFileName) { // This assumes we are in a separate session than the main program, so create // a new instance of the RasterCodecs and DocumentWriter objects we need var docWriter = new DocumentWriter(); using (var codecs = new RasterCodecs()) { codecs.Options.RasterizeDocument.Load.Resolution = 300; // Create a new (or append if the file exists) LTD document docWriter.BeginDocument(ltdFileName, DocumentFormat.Ltd); // Load the page as SVG document and as Raster image Debug.WriteLine("Loading page {0} ...", pageNumber); using (var svgDocument = codecs.LoadSvg(inputFileName, pageNumber, null)) using (var image = codecs.Load(inputFileName, pageNumber)) { // Add the page, notice we will be using image/text feature var page = new DocumentWriterSvgPage(); page.SvgDocument = svgDocument; page.Image = image; Debug.WriteLine("Adding page {0} ...", pageNumber); docWriter.AddPage(page); } } // Finally finish writing the PDF file on disk docWriter.EndDocument(); } static class LEAD_VARS { public const string ImagesDir = @"C:\LEADTOOLS22\Resources\Images"; }