←Select platform

SegmentImage Event

Summary
Optional delegate method for additional processing.

Syntax
C#
C++/CLI
Python
public event EventHandler<PdfCompressorSegmentImageEventArgs> SegmentImage 
public: 
event EventHandler<PdfCompressorSegmentImageEventArgs^>^ SegmentImage 
def SegmentImage(sender,e): # sender: PdfCompressorEngine e: PdfCompressorSegmentImageEventArgs 
Event Data

The event handler receives an argument of type PdfCompressorSegmentImageEventArgs containing data related to this event. The following PdfCompressorSegmentImageEventArgs properties provide information specific to this event.

PropertyDescription
Cancel Gets or sets a value that indicates whether a segment should be added to the document.
Page Gets the index of the page on which the segment is being written.
Segment Gets information about the segment.
Remarks

For more information, refer to Creating a Compressed PDF File.

Example
C#
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"; 
} 
Requirements

Target Platforms

Help Version 22.0.2023.3.31
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2023 LEAD Technologies, Inc. All Rights Reserved.

Leadtools.PdfCompressor Assembly
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2023 LEAD Technologies, Inc. All Rights Reserved.