Skip to content
ComPDF
DemoSampleAPI ReferenceFAQ

PDF Generation Template Editor

Open-source visual PDF generation engine with customizable templates and developer-friendly APIs.

View on GitHub
Guides

Image Compression Settings

CPDFOptimizeImageOption Parameter Description

The CPDFOptimizeImageOption class is used to configure detailed image compression parameters:

PropertyTypeDefaultDescription
UperPpiint225Upper PPI (pixels per inch), images above this value will be downsampled
TargetPpiint150Target PPI, the target resolution after downsampling
CompAlgCPDF_COMP_ALGJPEG2000Compression algorithm
Qualityint40Image quality (1-100)
BlockSizeint256Data block size (bytes)

CPDF_COMP_ALG Compression Algorithm Description

AlgorithmValueDescriptionUse Case
COMP_ALG_JPEG20001JPEG 2000 compressionHigh-quality color images, supports lossless and lossy compression
COMP_ALG_JPEG2Standard JPEG compressionPhotos and color images, best compatibility
COMP_ALG_JBIG23JBIG2 compressionScanned documents and black-and-white images
COMP_ALG_CCITT44CCITT Group 4 compressionMonochrome images, fax documents
COMP_ALG_CCITT35CCITT Group 3 compressionFax images, monochrome bitmaps

Configure Image Compression Options

c#
// Create image optimization options
CPDFOptimizeImageOption imageOption = new CPDFOptimizeImageOption();
imageOption.UperPpi = 300;                              // Images above 300 PPI will be downsampled
imageOption.TargetPpi = 150;                            // Downsample target is 150 PPI
imageOption.CompAlg = CPDF_COMP_ALG.COMP_ALG_JPEG;      // Use JPEG compression
imageOption.Quality = 60;                               // Image quality 60%
imageOption.BlockSize = 256;                            // Block size 256 bytes

// Apply image options
optimizeOption.SetImageOption(imageOption);

// Get current image options
CPDFOptimizeImageOption currentImageOption = optimizeOption.GetImageOption();
Console.WriteLine($"Current compression algorithm: {currentImageOption.CompAlg}");
Console.WriteLine($"Current image quality: {currentImageOption.Quality}");

Quick Set Image Quality

If you only need to adjust image quality, you can use the shortcut method:

c#
// Set image quality (1-100)
optimizeOption.SetImageQuality(75.0f);

// Get current image quality
float quality = optimizeOption.GetImageQuality();
Console.WriteLine($"Current image quality: {quality}");