[SerializableAttribute()]
[DataContractAttribute()]
public enum ColoredImageCompressionType
Value | Member | Description |
---|---|---|
0 | FlateJpeg |
Use JPEG compression for images which are more than 8BPP, or for grayscale 8BPP, else use flate compression. |
1 | LzwJpeg |
Use JPEG compression for images which are more than 8BPP, or for grayscale 8BPP, else use LZW compression. |
2 | Flate |
Use flate compression for compressing colored images. |
3 | Lzw |
Use LZW compression for compressing colored images. |
4 | Jpeg |
Use JPEG compression for compressing colored images. |
5 | FlateJpx | Use JPEG 2000 compression for images which are more than 8BPP, or for grayscale 8BPP, else use flate compression. Requires Leadtools.Codecs.J2k, Leadtools.Codecs.Tif and Leadtools.Codecs.Bmp |
6 | LzwJpx | Use JPEG 2000 compression for images which are more than 8BPP, or for grayscale 8BPP, else use LZW compression. Requires Leadtools.Codecs.J2k, Leadtools.Codecs.Tif and Leadtools.Codecs.Bmp |
7 | Jpx | Use JPEG 2000 compression for compressing colored images. Requires Leadtools.Codecs.J2k, Leadtools.Codecs.Tif and Leadtools.Codecs.Bmp |
You can use the ColoredImageCompressionType to control the compression type for colored images (i.e. images more than one bits per pixel) in the final document created by the LEADTOOLS Document Writer. The DocumentFormat.Pdf supports selecting compression types in the final document.
Use the PdfDocumentOptions.ColoredImageCompression property to control the compression type for colored images when creating PDF documents.
using Leadtools.Document.Writer;
using Leadtools.Ocr;
using Leadtools;
using Leadtools.Codecs;
public void PdfDocumentOptionsExample()
{
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.Pdf;
pdfOptions.FontEmbedMode = DocumentFontEmbedMode.None;
pdfOptions.ImageOverText = false;
pdfOptions.Linearized = false;
pdfOptions.Title = "Add your title here";
pdfOptions.Subject = "Add your subject here";
pdfOptions.Keywords = "Add your keywords here";
pdfOptions.Author = "Add author name here";
pdfOptions.Protected = true;
pdfOptions.UserPassword = "User password";
pdfOptions.OwnerPassword = "Owner password";
pdfOptions.EncryptionMode = PdfDocumentEncryptionMode.RC128Bit;
pdfOptions.PrintEnabled = false;
pdfOptions.HighQualityPrintEnabled = true;
pdfOptions.CopyEnabled = false;
pdfOptions.EditEnabled = true;
pdfOptions.AnnotationsEnabled = true;
pdfOptions.AssemblyEnabled = false;
pdfOptions.OneBitImageCompression = OneBitImageCompressionType.Flate;
pdfOptions.ColoredImageCompression = ColoredImageCompressionType.FlateJpeg;
pdfOptions.QualityFactor = 2;
// Use default resolution
pdfOptions.DocumentResolution = 0;
pdfOptions.PageRestriction = DocumentPageRestriction.Relaxed;
// Setup empty page size (Letter size)
pdfOptions.EmptyPageWidth = 8.5;
pdfOptions.EmptyPageHeight = 11;
pdfOptions.EmptyPageResolution = 300;
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:\LEADTOOLS23\Resources\Images";
}