CompactFile(string,string,int) Method (original) (raw)

Summary

Compacts TIFF/BigTIFF, PNG or Exif JPEG files with default options.

Syntax

C#

Objective-C

C++/CLI

Python

- (BOOL)compactFile:(NSString *)sourceFile destinationFile:(NSString *)destinationFile pages:(NSUInteger)_pages_ error:(NSError **)error

Parameters

srcFileName
A String containing the name of the file being compacted. All the pages will be read from this file.

destFileName
A String containing the name of the file in which all the pages will be written.

pages
Value that represents the number of pages to copy. Use 0 to copy all the pages. If pages is > 0, only pages will be copied to destFileName .

Example

using Leadtools; using Leadtools.Codecs; using Leadtools.ImageProcessing; using Leadtools.ImageProcessing.Color; using Leadtools.Svg; public void CompactFileExample() { RasterCodecs codecs = new RasterCodecs(); string srcFileName = Path.Combine(LEAD_VARS.ImagesDir, "CompactFile1_Src.tif"); string destFileName = Path.Combine(LEAD_VARS.ImagesDir, "CompactFile1_Dest.tif"); // Create a RasterImage with 4 pages containing text showing the page number RasterImage image = null; const int pageCount = 4; using (System.Drawing.Font f = new System.Drawing.Font("Arial", 36, System.Drawing.FontStyle.Bold)) using (System.Drawing.Bitmap btmp = new System.Drawing.Bitmap(320, 200)) using (System.Drawing.StringFormat sf = new System.Drawing.StringFormat()) { System.Drawing.Rectangle rc = new System.Drawing.Rectangle(0, 0, btmp.Width, btmp.Height); sf.Alignment = System.Drawing.StringAlignment.Center; sf.LineAlignment = System.Drawing.StringAlignment.Center; for (int i = 1; i <= pageCount; i++) { // Create a GDI+ bitmap with the text string text = "Page " + i; using (System.Drawing.Graphics g = System.Drawing.Graphics.FromImage(btmp)) { g.FillRectangle(System.Drawing.Brushes.White, rc); g.DrawString(text, f, System.Drawing.Brushes.Black, rc, sf); } RasterImage tempImage = Leadtools.Drawing.RasterImageConverter.ConvertFromImage(btmp, Leadtools.Drawing.ConvertFromImageOptions.None); if (image == null) image = tempImage; else image.AddPage(tempImage); } } // Save all the pages to the file // The file should have 4 pages now: 1, 2, 3, 4 codecs.Save(image, srcFileName, RasterImageFormat.Tif, 1, 1, pageCount, 1, CodecsSavePageMode.Overwrite); image.Dispose(); // All the pages in the source TIFF file. This will create the destination file codecs.CompactFile(srcFileName, destFileName, 0); // Compact the source file again and append all the pages to the existing destination file int pagesToAdd = 0; // 0 means all pages int srcStartPage = 1; int destStartPage = 5; // insert at the end codecs.CompactFile( srcFileName, destFileName, pagesToAdd, srcStartPage, false, 0, destStartPage, false, 0, CodecsSavePageMode.Insert, false, false); // Clean up codecs.Dispose(); } static class LEAD_VARS { public const string ImagesDir = @"C:\LEADTOOLS22\Resources\Images"; }

Leadtools.Codecs Assembly

CompactFile(Stream,Stream,int,int,bool,int,int,bool,int,CodecsSavePageMode,bool,bool) Method

CompactFile(Stream,Stream,int,int,bool,long,int,bool,long,CodecsSavePageMode,bool,bool,bool) Method

CompactFile(string,string,int,int,bool,int,int,bool,int,CodecsSavePageMode,bool,bool) Method

CompactFile(string,string,int,int,bool,long,int,bool,long,CodecsSavePageMode,bool,bool,bool) Method

StartCompress(int,int,int,RasterByteOrder,RasterViewPerspective,int,byte[],int,int,CodecsCompression,CodecsCompressDataCallback) Method