public enum PdfCompressorPictureCompression
Value | Member | Description |
---|---|---|
0 | JpgPic | Use JPEG 444 compression. |
1 | Jpg422Pic | Use JPEG 422 compression. |
2 | Jpg411Pic | Use JPEG 411 compression. |
3 | JpgProgressivePic | Use JPEG 444 Progressive compression. |
4 | Jpg422ProgressivePic | Use JPEG 422 Progressive compression. |
5 | Jpg411ProgressivePic | Use JPEG 411 Progressive compression. |
6 | ZipPic | Use ZIP compression. |
7 | LzwPic | Use LZW compression. |
8 | JpxPic | Use JPEG 2000 Part 2 (JPX). |
using Leadtools;
using Leadtools.PdfCompressor;
using Leadtools.Codecs;
public void pdfCompressor_SegmentImage_PdfDocument(object sender, PdfCompressorSegmentImageEventArgs e)
{
//This will prevent addition to any segment with type background in all pages except the first page only
if (e.Page != 0 && e.Segment.Type == SegmentTypeFlags.Background)
e.Cancel = true;
else
e.Cancel = false;
}
public void PdfCompressorExample_PdfDocument()
{
// Load an image
RasterCodecs codecs = new RasterCodecs();
codecs.ThrowExceptionsOnInvalidImages = true;
RasterImage image = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, "MRCSegmentation.mrc"));
PdfCompressorEngine pdfCompressor = new PdfCompressorEngine();
PdfCompressorCompressionTypes compressionTypes = new PdfCompressorCompressionTypes();
//Sets compression types needed for each segment
compressionTypes.Comp1Bit = PdfCompressor1BitCompression.Zip1Bit;
compressionTypes.Comp2Bit = PdfCompressor2BitCompression.Lzw2Bit;
compressionTypes.CompPicture = PdfCompressorPictureCompression.JpgPic;
compressionTypes.QFactor = 2;
//Flags for used compression types should be set
compressionTypes.Flags = EnabledCompressionsFlags.EnableOneBit |
EnabledCompressionsFlags.EnableTwoBit |
EnabledCompressionsFlags.EnablePicture;
pdfCompressor.SetCompression(compressionTypes);
pdfCompressor.Insert(image);
pdfCompressor.SegmentImage += new EventHandler<PdfCompressorSegmentImageEventArgs>(pdfCompressor_SegmentImage_PdfDocument);
pdfCompressor.Write(Path.Combine(LEAD_VARS.ImagesDir, "Out_Image.pdf"));
}
static class LEAD_VARS
{
public const string ImagesDir = @"C:\LEADTOOLS23\Resources\Images";
}