Products | Support | Email a link to this topic. | Send comments on this topic. | Back to Introduction - All Topics | Help Version 19.0.3.14
|
Leadtools.PdfCompressor Namespace > PdfCompressorEngine Class > Insert Method : Insert(RasterImage) Method |
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 )
This example inserts an image into a PDF document by using user Segments.
Imports Leadtools Imports Leadtools.PdfCompressor Imports Leadtools.Codecs 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 <TestMethod()> _ 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
using Leadtools; using Leadtools.PdfCompressor; using Leadtools.Codecs; 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; } [TestMethod] 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"; }