Uploaded image for project: 'FOP'
  1. FOP
  2. FOP-1574

Fails to read some .png files

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Resolution: Fixed
    • 2.5
    • None
    • unqualified
    • None
    • Operating System: Linux
      Platform: PC
    • 45795

    Description

      Test case:
      http://www.murrayc.com/temp/docbook_fop_test.tar.gz

      [murrayc@localhost docbook_fop_test]$ ls
      flumotion.xml test.png
      [murrayc@localhost docbook_fop_test]$
      [murrayc@localhost docbook_fop_test]$ xsltproc -o flumotion.fo -xinclude
      --catalogs http://docbook.sourceforge.net/release/xsl/current/fo/docbook.xsl
      flumotion.xml
      Variable $SGML_CATALOG_FILES not set
      Making portrait pages on USletter paper (8.5inx11in)

      [murrayc@localhost docbook_fop_test]$
      [murrayc@localhost docbook_fop_test]$ fop -fo flumotion.fo -pdf flumotion.pdf

      Sep 10, 2008 12:33:49 PM org.apache.fop.fonts.FontInfo notifyFontReplacement
      WARNING: Font 'Symbol,normal,700' not found. Substituting with
      'Symbol,normal,400'.
      Sep 10, 2008 12:33:49 PM org.apache.fop.fonts.FontInfo notifyFontReplacement
      WARNING: Font 'ZapfDingbats,normal,700' not found. Substituting with
      'ZapfDingbats,normal,400'.
      Sep 10, 2008 12:33:50 PM org.apache.fop.hyphenation.Hyphenator
      getHyphenationTree
      SEVERE: Couldn't find hyphenation pattern en
      Sep 10, 2008 12:33:52 PM org.apache.fop.area.RenderPagesModel addPage
      SEVERE: Error while rendering page 3
      java.lang.UnsupportedOperationException: Unsupported DataBuffer type:
      java.awt.image.DataBufferUShort
      at
      org.apache.fop.pdf.AlphaRasterImage.outputContents(AlphaRasterImage.java:169)
      at
      org.apache.fop.pdf.PDFImageXObject.outputRawStreamData(PDFImageXObject.java:145)
      at
      org.apache.fop.pdf.AbstractPDFStream.encodeAndWriteStream(AbstractPDFStream.java:155)
      at org.apache.fop.pdf.AbstractPDFStream.output(AbstractPDFStream.java:199)
      at org.apache.fop.pdf.PDFImageXObject.output(PDFImageXObject.java:65)
      at org.apache.fop.pdf.PDFDocument.output(PDFDocument.java:937)
      at org.apache.fop.render.pdf.PDFRenderer.putImage(PDFRenderer.java:1767)
      at org.apache.fop.render.pdf.PDFRenderer.renderImage(PDFRenderer.java:1679)
      at
      org.apache.fop.render.AbstractRenderer.renderViewport(AbstractRenderer.java:734)
      at
      org.apache.fop.render.AbstractPathOrientedRenderer.renderViewport(AbstractPathOrientedRenderer.java:557)
      at
      org.apache.fop.render.AbstractRenderer.renderInlineArea(AbstractRenderer.java:617)
      at
      org.apache.fop.render.pdf.PDFRenderer.renderInlineArea(PDFRenderer.java:1345)
      at
      org.apache.fop.render.AbstractRenderer.renderLineArea(AbstractRenderer.java:592)
      at org.apache.fop.render.pdf.PDFRenderer.renderLineArea(PDFRenderer.java:1336)
      at
      org.apache.fop.render.AbstractRenderer.renderBlocks(AbstractRenderer.java:529)
      at
      org.apache.fop.render.AbstractRenderer.renderBlock(AbstractRenderer.java:564)
      at org.apache.fop.render.pdf.PDFRenderer.renderBlock(PDFRenderer.java:1329)
      at
      org.apache.fop.render.AbstractRenderer.renderBlocks(AbstractRenderer.java:519)
      at
      org.apache.fop.render.AbstractRenderer.renderBlock(AbstractRenderer.java:564)
      at org.apache.fop.render.pdf.PDFRenderer.renderBlock(PDFRenderer.java:1329)
      at
      org.apache.fop.render.AbstractRenderer.renderBlocks(AbstractRenderer.java:519)
      at
      org.apache.fop.render.AbstractRenderer.renderBlock(AbstractRenderer.java:564)
      at org.apache.fop.render.pdf.PDFRenderer.renderBlock(PDFRenderer.java:1329)
      at
      org.apache.fop.render.AbstractRenderer.renderBlocks(AbstractRenderer.java:519)
      at
      org.apache.fop.render.AbstractRenderer.renderBlock(AbstractRenderer.java:564)
      at org.apache.fop.render.pdf.PDFRenderer.renderBlock(PDFRenderer.java:1329)
      at
      org.apache.fop.render.AbstractRenderer.renderBlocks(AbstractRenderer.java:519)
      at
      org.apache.fop.render.AbstractRenderer.renderFlow(AbstractRenderer.java:424)
      at
      org.apache.fop.render.AbstractRenderer.renderMainReference(AbstractRenderer.java:403)
      at
      org.apache.fop.render.AbstractRenderer.renderBodyRegion(AbstractRenderer.java:337)
      at
      org.apache.fop.render.AbstractRenderer.renderRegionViewport(AbstractRenderer.java:282)
      at
      org.apache.fop.render.AbstractRenderer.renderPageAreas(AbstractRenderer.java:255)
      at
      org.apache.fop.render.AbstractRenderer.renderPage(AbstractRenderer.java:229)
      at org.apache.fop.render.pdf.PDFRenderer.renderPage(PDFRenderer.java:801)
      at org.apache.fop.area.RenderPagesModel.addPage(RenderPagesModel.java:113)
      at
      org.apache.fop.layoutmgr.AbstractPageSequenceLayoutManager.finishPage(AbstractPageSequenceLayoutManager.java:312)
      at
      org.apache.fop.layoutmgr.PageSequenceLayoutManager.finishPage(PageSequenceLayoutManager.java:167)
      at
      org.apache.fop.layoutmgr.PageSequenceLayoutManager.activateLayout(PageSequenceLayoutManager.java:108)
      at
      org.apache.fop.area.AreaTreeHandler.endPageSequence(AreaTreeHandler.java:234)
      at org.apache.fop.fo.pagination.PageSequence.endOfNode(PageSequence.java:123)
      at
      org.apache.fop.fo.FOTreeBuilder$MainFOHandler.endElement(FOTreeBuilder.java:340)
      at org.apache.fop.fo.FOTreeBuilder.endElement(FOTreeBuilder.java:169)
      at
      com.sun.org.apache.xml.internal.serializer.ToXMLSAXHandler.endElement(Unknown
      Source)
      at
      com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.endElement(Unknown
      Source)
      at
      com.sun.org.apache.xerces.internal.xinclude.XIncludeHandler.endElement(Unknown
      Source)
      at
      com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanEndElement(Unknown
      Source)
      at
      com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(Unknown
      Source)
      at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(Unknown
      Source)
      at
      com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(Unknown
      Source)
      at
      com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown
      Source)
      at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown
      Source)
      at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown
      Source)
      at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(Unknown Source)
      at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(Unknown
      Source)
      at
      com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown
      Source)
      at
      com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transformIdentity(Unknown
      Source)
      at
      com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transform(Unknown
      Source)
      at
      com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transform(Unknown
      Source)
      at org.apache.fop.cli.InputHandler.transformTo(InputHandler.java:214)
      at org.apache.fop.cli.InputHandler.renderTo(InputHandler.java:125)
      at org.apache.fop.cli.Main.startFOP(Main.java:166)
      at org.apache.fop.cli.Main.main(Main.java:196)
      Sep 10, 2008 12:33:52 PM org.apache.fop.cli.InputHandler error
      SEVERE: javax.xml.transform.TransformerException: Unsupported DataBuffer type:
      java.awt.image.DataBufferUShort
      Sep 10, 2008 12:33:52 PM org.apache.fop.cli.Main startFOP
      SEVERE: Exception
      javax.xml.transform.TransformerException:
      java.lang.UnsupportedOperationException: Unsupported DataBuffer type:
      java.awt.image.DataBufferUShort
      at org.apache.fop.cli.InputHandler.transformTo(InputHandler.java:217)
      at org.apache.fop.cli.InputHandler.renderTo(InputHandler.java:125)
      at org.apache.fop.cli.Main.startFOP(Main.java:166)
      at org.apache.fop.cli.Main.main(Main.java:196)

      Fails with all Sun's JDK and OpenJDK.

      It seems like fop throws this error if the dataType is not TYPE_BYTE or
      TYPE_INT. This is a bug with the sources; I will file this upstream.

      org/apache/fop/pdf/AlphaRasterImage.java:

      143 //...and write the Raster line by line with a reusable buffer
      144 int dataType = alpha.getDataBuffer().getDataType();
      145 if (dataType == DataBuffer.TYPE_BYTE)

      { 146 ... 151 }

      else if (dataType == DataBuffer.TYPE_INT)

      { 152 .... 168 }

      else

      { 169 throw new UnsupportedOperationException("Unsupported DataBuffer type: " 170 + alpha.getDataBuffer().getClass().getName()); 171 }

      Should handle other datatypes. See bug initially reported here: https://bugzilla.redhat.com/show_bug.cgi?id=461740

      Attachments

        Activity

          People

            fop-dev@xmlgraphics.apache.org fop-dev
            langel@redhat.com Lillian Angel
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: