2017-05-14 1 views
1

je charge mon image au format pdf de la manière suivante:insert transparent à l'aide de pdf PDFBox

PDImageXObject image= PDImageXObject.createFromFile(<image_path>, doc); 
contentStream.drawImage(image, 15, pdfData.getPageHeight() - 80, 
image.getWidth(), image.getHeight()); 

Je suis en train de rendre l'image transparente, comme il regarderait dans un en-tête d'un document (google docs, mot etc.) y a-t-il un moyen facile de le faire?

Répondre

2

Utilisez un état graphique étendu:

stream.saveGraphicsState(); 
PDExtendedGraphicsState pdExtGfxState = new PDExtendedGraphicsState(); 
pdExtGfxState.getCOSObject().setItem(COSName.BM, COSName.MULTIPLY); // pdExtGfxState.setBlendMode(BlendMode.MULTIPLY) doesn't work yet, maybe in later version 
pdExtGfxState.setNonStrokingAlphaConstant(0.5f); 
contentStream.setGraphicsStateParameters(pdExtGfxState); 
// do your stuff 
stream.restoreGraphicsState(); 
+0

Votre réponse a résolu mon problème! Je vous remercie – MichaelK