[SerializableAttribute()]
[DataContractAttribute()]
public enum DocumentPageRestriction
Value | Member | Description |
---|---|---|
0 | Default |
Default page restriction, requires emf handle to create document. |
1 | Relaxed |
Relaxed page restrictions, emf handle is not mandatory to create document. |
The DocumentPageRestriction enumeration is used as the type for the DocumentOptions.PageRestriction property.
Use the PageRestriction property to control the page creation process used by the DocumentWriter.
DocumentPageRestriction.Default requires a valid EMF handle in the DocumentWriterEmfPage.EmfHandle property in order to create a document and thus does not support empty pages. Also, if the document supports overlay images (for example, PDF with the ImageOverText option set to true), then an overlay image must be present in the DocumentWriterPage.Image property of the page.
DocumentPageRestriction.Relaxed does not require an EMF handle in the DocumentWriterEmfPage.EmfHandle property and thus supports creating of a document with zero or more empty pages. Also, if the document supports overlay images (for example, PDF with the ImageOverText option set to true) and an overlay image is not present in the DocumentWriterPage.Image property of the page, then no overlay is automatically assumed and the page will be created successfully.
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:\LEADTOOLS22\Resources\Images";
}