java.lang.Object
org.sejda.sambox.pdmodel.graphics.image.LosslessFactory
Factory for creating a PDImageXObject containing a lossless compressed image.
-
Nested Class Summary
Nested Classes -
Field Summary
FieldsModifier and TypeFieldDescription(package private) static booleanInternal, only for benchmark purpose -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate static PDImageXObjectcreateFromGrayImage(BufferedImage image) static PDImageXObjectcreateFromImage(BufferedImage image) Creates a new lossless encoded image XObject from a BufferedImage.private static PDImageXObjectcreateFromRGBImage(BufferedImage image) private static booleanisGrayImage(BufferedImage image) (package private) static PDImageXObjectprepareImageXObject(byte[] byteArray, int width, int height, int bitsPerComponent, PDColorSpace initColorSpace) Create a PDImageXObject while making a decision whether not to compress, use Flate filter only, or Flate and LZW filters.
-
Field Details
-
usePredictorEncoder
static boolean usePredictorEncoderInternal, only for benchmark purpose
-
-
Constructor Details
-
LosslessFactory
private LosslessFactory()
-
-
Method Details
-
createFromImage
Creates a new lossless encoded image XObject from a BufferedImage.New for advanced users from 2.0.12 on:
If you created your image with a non standard ICC colorspace, it will be preserved. (If you load images in java using ImageIO then no need to read this segment) However a new colorspace will be created for each image. So if you create a PDF with several such images, consider replacing the colorspace with a common object to save space. This is done withPDImageXObject.getColorSpace()andPDImageXObject.setColorSpace()- Parameters:
document- the document where the image will be createdimage- the BufferedImage to embed- Returns:
- a new image XObject
- Throws:
IOException- if something goes wrong
-
isGrayImage
-
createFromGrayImage
- Throws:
IOException
-
createFromRGBImage
- Throws:
IOException
-
prepareImageXObject
static PDImageXObject prepareImageXObject(byte[] byteArray, int width, int height, int bitsPerComponent, PDColorSpace initColorSpace) throws IOException Create a PDImageXObject while making a decision whether not to compress, use Flate filter only, or Flate and LZW filters.- Parameters:
document- The document.byteArray- array with data.width- the image widthheight- the image heightbitsPerComponent- the bits per componentinitColorSpace- the color space- Returns:
- the newly created PDImageXObject with the data compressed.
- Throws:
IOException
-