[SerializableAttribute()][DataContractAttribute()]public enum OneBitImageCompressionType
| Value | Member | Description |
|---|---|---|
| 0 | Flate |
Use flate compression for compressing one bit images. |
| 1 | FaxG31D |
Use FAX G3_1D compression for compressing one bit images. |
| 2 | FaxG32D |
Use FAX G3_2D compression for compressing one bit images. |
| 3 | FaxG4 |
Use FAX G4 compression for compressing one bit images. |
| 4 | Lzw |
Use LZW compression for compressing one bit images. |
| 5 | Jbig2 |
Use JBIG2 compression for compressing one bit images. |
You can use the OneBitImageCompressionType to control the compression type for one bit per pixels images in the final document created by the LEADTOOLS Document Writer. The DocumentFormat.Pdf supports selecting compression types in the final document.
Use the PdfDocumentOptions.OneBitImageCompression property to control the compression type for one bit per pixels 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 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.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 resolutionpdfOptions.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 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";}