List of usage examples for com.itextpdf.text.pdf PdfContentByte addImage
public void addImage(final Image image, final double a, final double b, final double c, final double d, final double e, final double f, final boolean inlineImage) throws DocumentException
Image
to the page. From source file:mkl.testarea.itext5.pdfcleanup.PdfCleanUpRenderListener.java
License:Open Source License
public void renderImage(ImageRenderInfo renderInfo) { List<Rectangle> areasToBeCleaned = getImageAreasToBeCleaned(renderInfo); if (areasToBeCleaned == null) { chunks.add(new PdfCleanUpContentChunk.Image(false, null)); } else {//from w w w . j a v a2s . c o m try { PdfImageObject pdfImage = renderInfo.getImage(); byte[] imageBytes = processImage(pdfImage.getImageAsBytes(), areasToBeCleaned); if (renderInfo.getRef() == null && pdfImage != null) { // true => inline image PdfDictionary dict = pdfImage.getDictionary(); PdfObject imageMask = dict.get(PdfName.IMAGEMASK); Image image = Image.getInstance(imageBytes); if (imageMask == null) { imageMask = dict.get(PdfName.IM); } if (imageMask != null && imageMask.equals(PdfBoolean.PDFTRUE)) { image.makeMask(); } PdfContentByte canvas = getContext().getCanvas(); canvas.addImage(image, 1, 0, 0, 1, 0, 0, true); } else if (pdfImage != null && imageBytes != pdfImage.getImageAsBytes()) { chunks.add(new PdfCleanUpContentChunk.Image(true, imageBytes)); } } catch (Exception e) { throw new RuntimeException(e); } } }