LEADTOOLS PDF Segmentation (Leadtools.PdfCompressor assembly)
LEAD Technologies, Inc

Insert(RasterImage) Method

Example 





Image to be inserted in the PDF file.
Compresses the specified image, without segmenting it, and inserts the image in the PDF file.
Syntax
public void Insert( 
   RasterImage image
)
'Declaration
 
Public Overloads Sub Insert( _
   ByVal image As RasterImage _
) 
'Usage
 
Dim instance As PdfCompressorEngine
Dim image As RasterImage
 
instance.Insert(image)
public void Insert( 
   RasterImage image
)
 function Leadtools.PdfCompressor.PdfCompressorEngine.Insert(RasterImage)( 
   image 
)
public:
void Insert( 
   RasterImage^ image
) 

Parameters

image
Image to be inserted in the PDF file.
Remarks
This method will not use MRC segmentation for the inserted image in Pdf file. If SetCompression method is set, segments will be compressd according to compression types set by it.
For more information, refer to Creating a Compressed PDF File.
Example
 
Public Sub pdfCompressor_SegmentImage_MrcSegmentsDocument(ByVal sender As Object, ByVal e As PdfCompressorSegmentImageEventArgs)
      'This will prevent addition to any segment with type background 
      If e.Segment.Type = SegmentTypeFlags.Background Then
         e.Cancel = True
      Else
         e.Cancel = False
      End If
   End Sub

   Public Sub PdfCompressorExample_MrcSegmentsDocument()
      ' Load an image
      Dim codecs As RasterCodecs = New RasterCodecs()
      codecs.ThrowExceptionsOnInvalidImages = True

      Dim image As RasterImage = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, "MRCSegmentation.mrc"))

      Dim pdfCompressor As New PdfCompressorEngine()
      Dim compressionTypes As PdfCompressorCompressionTypes = 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 Or EnabledCompressionsFlags.EnableTwoBit Or EnabledCompressionsFlags.EnablePicture

      pdfCompressor.SetCompression(compressionTypes)
      AddHandler pdfCompressor.SegmentImage, AddressOf pdfCompressor_SegmentImage_MrcSegmentsDocument
      Dim segmentInfo As PdfCompressorSegmentsInfo() = New PdfCompressorSegmentsInfo(1) {}
      segmentInfo(0) = New PdfCompressorSegmentsInfo()
      segmentInfo(1) = New PdfCompressorSegmentsInfo()

      segmentInfo(0).Rectangle = New LeadRect(0, 0, 100, 100)
      segmentInfo(0).Type = SegmentTypeFlags.Background
      segmentInfo(0).ValidColors = 1
      segmentInfo(0).Colors(0) = New RasterColor(0, 0, 0)

      segmentInfo(1).Rectangle = New LeadRect(100, 100, 200, 200)
      segmentInfo(1).Type = SegmentTypeFlags.Gray
      segmentInfo(1).ValidColors = 1
      segmentInfo(1).Colors(0) = New RasterColor(255, 255, 255)

      pdfCompressor.InsertSegments(image, segmentInfo, False, New RasterColor(0, 0, 0))
      pdfCompressor.Write(Path.Combine(LEAD_VARS.ImagesDir, "Image.pdf"))
   End Sub

Public NotInheritable Class LEAD_VARS
   Public Const ImagesDir As String = "C:\Users\Public\Documents\LEADTOOLS Images"
End Class
public void pdfCompressor_SegmentImage_MrcSegmentsDocument(object sender, PdfCompressorSegmentImageEventArgs e)
   {
      //This will prevent addition to any segment with type background 
      if(e.Segment.Type == SegmentTypeFlags.Background) 
         e.Cancel = true; 
      else
         e.Cancel = false; 
   }

   public void PdfCompressorExample_MrcSegmentsDocument()
   {
      // 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);


      PdfCompressorSegmentsInfo[] segmentInfo = new PdfCompressorSegmentsInfo[2];
      segmentInfo[0] = new PdfCompressorSegmentsInfo();
      segmentInfo[1] = new PdfCompressorSegmentsInfo();
      pdfCompressor.SegmentImage += new EventHandler<PdfCompressorSegmentImageEventArgs>(pdfCompressor_SegmentImage_MrcSegmentsDocument);
      segmentInfo[0].Rectangle = new LeadRect(0, 0, 100, 100);
      segmentInfo[0].Type = SegmentTypeFlags.Background;
      segmentInfo[0].ValidColors = 1;
      segmentInfo[0].Colors[0] = new RasterColor(0, 0, 0);

      segmentInfo[1].Rectangle = new LeadRect(100, 100, 200, 200);
      segmentInfo[1].Type = SegmentTypeFlags.Gray;
      segmentInfo[1].ValidColors = 1;         
      segmentInfo[1].Colors[0] = new RasterColor(255, 255, 255);


      pdfCompressor.InsertSegments(image, segmentInfo, false, new RasterColor(0, 0, 0));
      pdfCompressor.Write(Path.Combine(LEAD_VARS.ImagesDir,"Out_Image.pdf"));
   }

static class LEAD_VARS
{
   public const string ImagesDir = @"C:\Users\Public\Documents\LEADTOOLS Images";
}
Requirements

Target Platforms: Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

See Also

Reference

PdfCompressorEngine Class
PdfCompressorEngine Members
Overload List
SetCompression Method
InsertSegments Method
PdfCompressorOptions Structure

 

 


Products | Support | Contact Us | Copyright Notices

© 2006-2012 All Rights Reserved. LEAD Technologies, Inc.

Leadtools.PdfCompressor requires a PDF Plug-in license and unlock key. For more information, refer to: Imaging Pro/Document/Medical Features