public class DocumentWriterRasterPage : DocumentWriterPage
The DocumentWriterRasterPage structure contains the data for one raster image page to be added to a document file. It is used as a parameter to the DocumentWriter.AddPage or DocumentWriter.InsertPage methods used to add the page.
The DocumentWriterRasterPage.Image property must contain a valid raster image (RasterImage) object that contains the visual representation of the page. This image object can obtained through multiple sources as explained in LEADTOOLS Document Writers.
DocumentWriterRasterPage.Image is used as is when DocumentWriter.AddPage or DocumentWriter.InsertPage is called and the framework does not delete it. You must dispose the object when it is no longer used.
The LEADTOOLS Document Writer supports creating documents with zero or more empty pages inside them. Use DocumentWriter.AddPage or DocumentWriter.InsertPage with an DocumentWriterEmptyPage with the dimension of the empty page set before hand in the DocumentOptions.EmptyPageWidth and DocumentOptions.EmptyPageHeight and its resolution set to DocumentOptions.EmptyPageResolution. As many empty pages as desired can be added in any index desired. To use empty pages, make sure the DocumentOptions.PageRestriction property is set to DocumentPageRestriction.Relaxed.
For more information, refer to PdfDocumentOptions.
This example will create a PDF document with first page from SVG data, second page empty and third page from raster image.
using Leadtools;
using Leadtools.Codecs;
using Leadtools.Document.Writer;
using Leadtools.Ocr;
public void DocumentRasterPageExample()
{
// Input file name
var inputFileName = Path.Combine(LEAD_VARS.ImagesDir, "TEST.docx");
// Output PDF file name
var outputFileName = Path.Combine(LEAD_VARS.ImagesDir, "out_Example.pdf");
// Create a new instance of the LEADTOOLS Document Writer
var docWriter = new DocumentWriter();
// Setup a new RasterCodecs object
using (var codecs = new RasterCodecs())
{
codecs.Options.RasterizeDocument.Load.Resolution = 300;
// Get information on the page
double pageWidth;
double pageHeight;
using (var info = codecs.GetInformation(inputFileName, false, 1))
{
// Get the size in inches, we need it for the empty page
pageWidth = info.Document.PageWidth;
pageHeight = info.Document.PageHeight;
}
// Begin the document
docWriter.BeginDocument(outputFileName, DocumentFormat.Pdf);
// Add the first page from SVG
var svgPage = new DocumentWriterSvgPage();
using (svgPage.SvgDocument = codecs.LoadSvg(inputFileName, 1, null))
{
// Add it
docWriter.AddPage(svgPage);
}
// Add a second page as empty
var emptyPage = new DocumentWriterEmptyPage();
emptyPage.Width = pageWidth;
emptyPage.Height = pageHeight;
docWriter.AddPage(emptyPage);
// Finally, add a third page as an image
var rasterPage = new DocumentWriterRasterPage();
using (rasterPage.Image = codecs.Load(inputFileName, 1))
{
// Add it
docWriter.AddPage(rasterPage);
}
}
// Finally finish writing the HTML file on disk
docWriter.EndDocument();
}
static class LEAD_VARS
{
public const string ImagesDir = @"C:\LEADTOOLS23\Resources\Images";
}