[SerializableAttribute()][DataContractAttribute()]public abstract class DocumentOptions
You cannot use the DocumentOptions class directly. Instead, use one of the derived classes to get and set the options associated with that document format. The following table lists the document formats and the corresponding DocumentOptions derived class associated with each format:
To change the options used with a particular format, perform the following steps:
Call the DocumentWriter.GetOptions method for the DocumentWriter object being used, passing the DocumentFormat to be used in the format parameter. The resulting object from the base DocumentOptions class needs to be cast to the appropriate derived class described in the previous table.
Use the various derived class properties to change the options.
Call DocumentWriter.SetOptions to set the new options for the engine.
Now call the DocumentWriter.BeginDocument method (using the DocumentFormat value for the format parameter) to create a new document and add the pages.
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 objectvar codecs = new RasterCodecs();codecs.Options.RasterizeDocument.Load.Resolution = 300;// Get the number of pages in the input documentvar pageCount = codecs.GetTotalPages(inputFileName);// Create a new instance of the LEADTOOLS Document Writervar docWriter = new DocumentWriter();// Change the PDF optionsvar pdfOptions = docWriter.GetOptions(DocumentFormat.Pdf) as PdfDocumentOptions;pdfOptions.DocumentType = PdfDocumentType.PdfA;docWriter.SetOptions(DocumentFormat.Pdf, pdfOptions);// Create a new PDF documentDebug.WriteLine("Creating new PDF document: {0}", outputFileName);docWriter.BeginDocument(outputFileName, DocumentFormat.Pdf);// Loop through all the pagesfor (var pageNumber = 1; pageNumber <= pageCount; pageNumber++){// Get the page as SVGDebug.WriteLine("Loading page {0}", pageNumber);var page = new DocumentWriterSvgPage();page.SvgDocument = codecs.LoadSvg(inputFileName, pageNumber, null);// Add the pageDebug.WriteLine("Adding page {0}", pageNumber);docWriter.AddPage(page);page.SvgDocument.Dispose();}// Finally finish writing the PDF file on diskdocWriter.EndDocument();codecs.Dispose();}static class LEAD_VARS{public const string ImagesDir = @"C:\LEADTOOLS23\Resources\Images";}