Search in sources :

Example 16 with PdfImageXObject

use of com.itextpdf.kernel.pdf.xobject.PdfImageXObject in project i7j-pdfsweep by itext.

the class PdfCleanUpProcessor method filterImageMask.

private void filterImageMask(PdfImageXObject originalImage, PdfName maskKey, Matrix ctmForMasksFiltering, PdfImageXObject imageToWrite) {
    PdfStream maskStream = originalImage.getPdfObject().getAsStream(maskKey);
    if (maskStream == null || ctmForMasksFiltering == null) {
        return;
    }
    PdfImageXObject maskImageXObject = new PdfImageXObject(maskStream);
    if (!PdfCleanUpFilter.imageSupportsDirectCleanup(maskImageXObject)) {
        Logger logger = LoggerFactory.getLogger(PdfCleanUpProcessor.class);
        logger.error(CleanUpLogMessageConstant.IMAGE_MASK_CLEAN_UP_NOT_SUPPORTED);
        return;
    }
    FilteredImagesCache.FilteredImageKey k = filter.createFilteredImageKey(maskImageXObject, ctmForMasksFiltering, document);
    PdfImageXObject maskToWrite = getFilteredImage(k, null);
    if (maskToWrite != null) {
        imageToWrite.getPdfObject().put(maskKey, maskToWrite.getPdfObject());
    }
}
Also used : PdfImageXObject(com.itextpdf.kernel.pdf.xobject.PdfImageXObject) PdfStream(com.itextpdf.kernel.pdf.PdfStream) Logger(org.slf4j.Logger)

Aggregations

PdfImageXObject (com.itextpdf.kernel.pdf.xobject.PdfImageXObject)16 ExtendedITextTest (com.itextpdf.test.ExtendedITextTest)8 IntegrationTest (com.itextpdf.test.annotations.type.IntegrationTest)8 Test (org.junit.Test)8 PdfStream (com.itextpdf.kernel.pdf.PdfStream)5 Rectangle (com.itextpdf.kernel.geom.Rectangle)3 PdfDocument (com.itextpdf.kernel.pdf.PdfDocument)3 PdfName (com.itextpdf.kernel.pdf.PdfName)3 PdfReader (com.itextpdf.kernel.pdf.PdfReader)3 ImageData (com.itextpdf.io.image.ImageData)2 PdfNumber (com.itextpdf.kernel.pdf.PdfNumber)2 PdfWriter (com.itextpdf.kernel.pdf.PdfWriter)2 Logger (org.slf4j.Logger)2 Point (com.itextpdf.kernel.geom.Point)1 PdfArray (com.itextpdf.kernel.pdf.PdfArray)1 PdfDictionary (com.itextpdf.kernel.pdf.PdfDictionary)1 PdfObject (com.itextpdf.kernel.pdf.PdfObject)1 PdfPage (com.itextpdf.kernel.pdf.PdfPage)1 PdfResources (com.itextpdf.kernel.pdf.PdfResources)1 PdfCanvasProcessor (com.itextpdf.kernel.pdf.canvas.parser.PdfCanvasProcessor)1