[FlagsAttribute()]
public enum EnabledCompressionsFlags
Value | Member | Description |
---|---|---|
0x00000000 | None | No compression is set, use default compressions. |
0x00000001 | EnableOneBit | Enables setting 1BPP Compression type. |
0x00000002 | EnableTwoBit | Enables setting 2BPP Compression type. |
0x00000004 | EnablePicture | Enables setting Picture Compression type. |
The default values are as follows:
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";
}