Skip to main content

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);
            }
        }
    }
}

Implements

com.devexpress.java.enums.IIntEnum

Inherited Members

java.lang.Enum.<T>valueOf(java.lang.Class<T>,java.lang.String)
java.lang.Enum.clone()
java.lang.Enum.compareTo(E)
java.lang.Enum.describeConstable()
java.lang.Enum.equals(java.lang.Object)
java.lang.Enum.finalize()
java.lang.Enum.getDeclaringClass()
java.lang.Enum.hashCode()
java.lang.Enum.name()
java.lang.Enum.ordinal()
java.lang.Enum.toString()
java.lang.Object.getClass()
java.lang.Object.notify()
java.lang.Object.notifyAll()
java.lang.Object.wait()
java.lang.Object.wait(long)
java.lang.Object.wait(long,int)

Inheritance

Object
java.lang.Enum
ImageCompressionType