Package de.rototor.pdfbox.graphics2d
Class PdfBoxGraphics2DLosslessImageEncoder
- java.lang.Object
-
- de.rototor.pdfbox.graphics2d.PdfBoxGraphics2DLosslessImageEncoder
-
- All Implemented Interfaces:
IPdfBoxGraphics2DImageEncoder
public class PdfBoxGraphics2DLosslessImageEncoder extends java.lang.Object implements IPdfBoxGraphics2DImageEncoder
Encodes all images using lossless compression. Tries to reuse images as much as possible. You can share an instance of this class with multiple PdfBoxGraphics2D objects.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private static class
PdfBoxGraphics2DLosslessImageEncoder.ImageSoftReference
private static class
PdfBoxGraphics2DLosslessImageEncoder.ProfileSoftReference
-
Nested classes/interfaces inherited from interface de.rototor.pdfbox.graphics2d.IPdfBoxGraphics2DImageEncoder
IPdfBoxGraphics2DImageEncoder.IPdfBoxGraphics2DImageEncoderEnv
-
-
Field Summary
Fields Modifier and Type Field Description private java.lang.ref.SoftReference<org.apache.pdfbox.pdmodel.PDDocument>
doc
private java.util.Map<PdfBoxGraphics2DLosslessImageEncoder.ImageSoftReference,java.lang.ref.SoftReference<org.apache.pdfbox.pdmodel.graphics.image.PDImageXObject>>
imageMap
private java.util.Map<PdfBoxGraphics2DLosslessImageEncoder.ProfileSoftReference,java.lang.ref.SoftReference<org.apache.pdfbox.pdmodel.graphics.color.PDColorSpace>>
profileMap
-
Constructor Summary
Constructors Constructor Description PdfBoxGraphics2DLosslessImageEncoder()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description org.apache.pdfbox.pdmodel.graphics.image.PDImageXObject
encodeImage(org.apache.pdfbox.pdmodel.PDDocument document, org.apache.pdfbox.pdmodel.PDPageContentStream contentStream, java.awt.Image image, IPdfBoxGraphics2DImageEncoder.IPdfBoxGraphics2DImageEncoderEnv env)
Encode the given image into the a PDImageXObject
-
-
-
Field Detail
-
imageMap
private java.util.Map<PdfBoxGraphics2DLosslessImageEncoder.ImageSoftReference,java.lang.ref.SoftReference<org.apache.pdfbox.pdmodel.graphics.image.PDImageXObject>> imageMap
-
profileMap
private java.util.Map<PdfBoxGraphics2DLosslessImageEncoder.ProfileSoftReference,java.lang.ref.SoftReference<org.apache.pdfbox.pdmodel.graphics.color.PDColorSpace>> profileMap
-
doc
private java.lang.ref.SoftReference<org.apache.pdfbox.pdmodel.PDDocument> doc
-
-
Method Detail
-
encodeImage
public org.apache.pdfbox.pdmodel.graphics.image.PDImageXObject encodeImage(org.apache.pdfbox.pdmodel.PDDocument document, org.apache.pdfbox.pdmodel.PDPageContentStream contentStream, java.awt.Image image, IPdfBoxGraphics2DImageEncoder.IPdfBoxGraphics2DImageEncoderEnv env)
Description copied from interface:IPdfBoxGraphics2DImageEncoder
Encode the given image into the a PDImageXObject- Specified by:
encodeImage
in interfaceIPdfBoxGraphics2DImageEncoder
- Parameters:
document
- the PDF documentcontentStream
- the content stream of the pageimage
- the image to encode- Returns:
- the encoded image
-
-