PDF Generation Template Editor
Open-source visual PDF generation engine with customizable templates and developer-friendly APIs.
Open-source visual PDF generation engine with customizable templates and developer-friendly APIs.
The CPDFOptimizeImageOption class is used to configure detailed image compression parameters:
| Property | Type | Default | Description |
|---|---|---|---|
UperPpi | int | 225 | Upper PPI (pixels per inch), images above this value will be downsampled |
TargetPpi | int | 150 | Target PPI, the target resolution after downsampling |
CompAlg | CPDF_COMP_ALG | JPEG2000 | Compression algorithm |
Quality | int | 40 | Image quality (1-100) |
BlockSize | int | 256 | Data block size (bytes) |
| Algorithm | Value | Description | Use Case |
|---|---|---|---|
COMP_ALG_JPEG2000 | 1 | JPEG 2000 compression | High-quality color images, supports lossless and lossy compression |
COMP_ALG_JPEG | 2 | Standard JPEG compression | Photos and color images, best compatibility |
COMP_ALG_JBIG2 | 3 | JBIG2 compression | Scanned documents and black-and-white images |
COMP_ALG_CCITT4 | 4 | CCITT Group 4 compression | Monochrome images, fax documents |
COMP_ALG_CCITT3 | 5 | CCITT Group 3 compression | Fax images, monochrome bitmaps |
// 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}");If you only need to adjust image quality, you can use the shortcut method:
// Set image quality (1-100)
optimizeOption.SetImageQuality(75.0f);
// Get current image quality
float quality = optimizeOption.GetImageQuality();
Console.WriteLine($"Current image quality: {quality}");