ImageCompressionType Enum
Lists values that specify the image compression algorithm in a PDF document.
Declaration
public enum ImageCompressionType extends Enum<ImageCompressionType> implements IIntEnum
Members
| Name | Description |
|---|---|
FLATE
|
Images are compressed using the Flate compression algorithm. |
JPEG
|
Images are compressed using the JPEG compression algorithm. |
fromValue(int value)
|
Returns an enumeration value that corresponds to the specified integer value. |
getName()
|
Returns the name associated with this enumeration value. |
getValue()
|
Returns the integer value associated with this enumeration value. |
toString()
|
Returns the name of this enumeration value. |
valueOf(String name)
|
Returns the enum value with the specified name. |
values()
|
Returns an array that contains all enum values. |
Remarks
Use the ImageCompressionOptions.setCompressionType() method to specify the image compression algorithm.
Refer to the following help topic for additional information: Optimize PDF Documents.
The following code snippet optimizes images with different compression settings:
package pdf;
import com.devexpress.docs.pdf.*;
import java.nio.channels.*;
import java.nio.file.*;
public class Main {
public static void main(String[] args) throws Exception {
try (FileChannel channel = FileChannel.open(Path.of("Document.pdf"));
PdfDocument pdfDocument = new PdfDocument(channel)) {
// Configure image compression options.
ImageCompressionOptions imageCompressionOptions = new ImageCompressionOptions();
// Configure general compression settings.
imageCompressionOptions.setCompressionType(ImageCompressionType.JPEG);
imageCompressionOptions.setJpegQuality(75);
imageCompressionOptions.setDownsamplingResolution(150);
// Convert color images to grayscale.
imageCompressionOptions.setConvertGrayscale(true);
// Configure compression for grayscale images.
imageCompressionOptions.setGrayscaleCompressionType(GrayscaleImageCompressionType.JPEG);
// Configure compression for bitonal images.
imageCompressionOptions.setBitonalCompressionType(BitonalImageCompressionType.CCITT_GROUP_4);
// Compress images.
pdfDocument.compressImages(imageCompressionOptions);
try (WritableByteChannel writableByteChannel =
FileChannel.open(Path.of("Document_Optimized.pdf"),
StandardOpenOption.CREATE,
StandardOpenOption.WRITE,
StandardOpenOption.TRUNCATE_EXISTING)) {
pdfDocument.save(writableByteChannel);
}
}
}
}