public override DocumentFormat Format { get; }
This property will always return DocumentFormat.Ltd.
This property is required internally by LEADTOOLS.
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";
}