[FlagsAttribute()]
public enum SegmentTypeFlags
Value | Member | Description |
---|---|---|
0x00000000 | Background | The segment uses one color that represents the image background. |
0x00000001 | OneBit | The segment is a 1BPP image. |
0x00000002 | OnBitBW | The segment is a 1BPP black and white image. |
0x00000003 | TwoBit | The segment is a 2BPP image. |
0x00000004 | TwoBitGray | The segment is a 2BPP gray scale image. |
0x00000005 | Gray | The segment is a gray scale image. |
0x00000006 | Picture | The segment is a picture. |
0x00000007 | TwoBitBW | The segment is a 2BPP black and white image. |
0x00000008 | OneColor | The segment has only one color. |
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:\LEADTOOLS22\Resources\Images";
}