Hi, You should provide a test case (short xsl-fo + image causing NPE).
Did you test against FOP 1.1 or FOP trunk? For submitting a Patch, please open a dedicated issue in Jira (see [1] for further details). Note: I'm not sure getAlphaRaster() may return null. If true, your patch should be against xmlgraphics rather than fop. [1] http://xmlgraphics.apache.org/fop/dev/#patches 2014-06-20 5:19 GMT+02:00 Shane Witbeck <sh...@digitalsanctum.com>: > Hi, > > We use FOP 1.0 for converting documents to PDF. In certain cases when the > document contains an image that returns null from > GraphicsUtil.getAlphaRaster, this results in a NPE shown below: > > 2014-06-19 10:08:12,932 [http-nio-8080-exec-4] [1:admin:REGULAR] ERROR > org.apache.fop.area.AreaTreeModel - Error while rendering page 1 > java.lang.NullPointerException: Parameter alpha must not be null > at org.apache.fop.pdf.AlphaRasterImage.<init>(AlphaRasterImage.java:53) > at org.apache.fop.pdf.AlphaRasterImage.<init>(AlphaRasterImage.java:67) > at > org.apache.fop.render.pdf.ImageRenderedAdapter.setup(ImageRenderedAdapter.java:125) > at org.apache.fop.pdf.PDFDocument.addImage(PDFDocument.java:828) > at > org.apache.fop.render.pdf.PDFImageHandlerRenderedImage.handleImage(PDFImageHandlerRenderedImage.java:80) > at > org.apache.fop.render.intermediate.AbstractIFPainter.drawImage(AbstractIFPainter.java:227) > at > org.apache.fop.render.intermediate.AbstractIFPainter.drawImage(AbstractIFPainter.java:183) > at > org.apache.fop.render.intermediate.AbstractIFPainter.drawImageUsingImageHandler(AbstractIFPainter.java:148) > at > org.apache.fop.render.intermediate.AbstractIFPainter.drawImageUsingURI(AbstractIFPainter.java:270) > at org.apache.fop.render.pdf.PDFPainter.drawImage(PDFPainter.java:146) > at > org.apache.fop.render.intermediate.IFRenderer.drawImage(IFRenderer.java:1171) > at > org.apache.fop.render.intermediate.IFRenderer.renderImage(IFRenderer.java:1158) > at > org.apache.fop.render.AbstractRenderer.renderViewport(AbstractRenderer.java:741) > at > org.apache.fop.render.AbstractPathOrientedRenderer.renderViewport(AbstractPathOrientedRenderer.java:709) > at > org.apache.fop.render.intermediate.IFRenderer.renderViewport(IFRenderer.java:860) > at > org.apache.fop.render.AbstractRenderer.renderInlineArea(AbstractRenderer.java:634) > at > org.apache.fop.render.intermediate.IFRenderer.renderInlineArea(IFRenderer.java:912) > > > I have a possible fix patch for the org.apache.fop.pdf.AlphaRasterImage > (line ~58) here: > > /** > * Create a alpha channel image. > * Extracts the alpha channel from the RenderedImage and creates a new > bitmap image > * with the given data. > * > * @param k the key to be used to lookup the image > * @param image the image (must have an alpha channel) > */ > public AlphaRasterImage(String k, RenderedImage image) { > this(k, getAlphaRaster(image)); > } > > private static java.awt.image.Raster getAlphaRaster(RenderedImage image) > { > java.awt.image.Raster raster = GraphicsUtil.getAlphaRaster(image); > if (raster == null && image.getColorModel() instanceof > IndexColorModel) { > int width = image.getWidth(); > int height = image.getHeight(); > WritableRaster writableRaster = > image.getColorModel().createCompatibleWritableRaster(width, height); > image.copyData(writableRaster); > return writableRaster; > } > return raster; > } > > This fixes the NPE but results in a muted image in the resulting PDF file. > I’d like feedback on the possible fix as well as any ideas as to why the > resulting image is muted. > > Thanks in advance! > > -- Shane > -- pascal --------------------------------------------------------------------- To unsubscribe, e-mail: fop-users-unsubscr...@xmlgraphics.apache.org For additional commands, e-mail: fop-users-h...@xmlgraphics.apache.org