Jump to content
  • Some kind of jpg images are not taken into account


    pierrecellard
    Assigned User teodord
    CategoryBug report
    PriorityHigh
    ReproducibilityAlways
    ResolutionNo Change Required
    SeverityMajor
    StatusClosed

    I can't explain why some images are creating such a problem in a report.

     

    If one of this image is added in a japser pdf report (I tried with v 3.6 and v 4.5) :

    - the report crashes if opened with adobe pdf viewer

    - the report generate a weird image if opened with pdf-x change viewer

     

    I wonder this is a problem with one "type" of image, but which ?

     

    Here is one of those images


    Attachments: report_photo_pb.pdf

    User Feedback

    Recommended Comments

    Hi,

     

    I used the images you provided in the /demo/samples/images sample of the JR distro, instead of the dukesign.jpg.

    The sample does not even succeed filling the report, so it does not even get to PDF.

     

    The exception is:

    [java] net.sf.jasperreports.engine.JRException: java.lang.IllegalArgumentException: Numbers of source Raster bands and source color space components do not match

    [java] at net.sf.jasperreports.engine.util.JRJdk14ImageReader.readImage(JRJdk14ImageReader.java:58)

    [java] at net.sf.jasperreports.engine.util.JRImageLoader.loadAwtImageFromBytes(JRImageLoader.java:167)

    [java] at net.sf.jasperreports.engine.JRImageRenderer.getImage(JRImageRenderer.java:407)

    [java] at net.sf.jasperreports.engine.JRImageRenderer.getDimension(JRImageRenderer.java:482)

    [java] at net.sf.jasperreports.engine.fill.JRFillImage.fitImage(JRFillImage.java:714)

    [java] at net.sf.jasperreports.engine.fill.JRFillImage.prepare(JRFillImage.java:636)

    [java] at net.sf.jasperreports.engine.fill.JRFillElementContainer.prepareElements(JRFillElementContainer.java:329)

    [java] at net.sf.jasperreports.engine.fill.JRFillFrame.prepare(JRFillFrame.java:215)

    [java] at net.sf.jasperreports.engine.fill.JRFillElementContainer.prepareElements(JRFillElementContainer.java:329)

    [java] at net.sf.jasperreports.engine.fill.JRFillBand.fill(JRFillBand.java:377)

    [java] at net.sf.jasperreports.engine.fill.JRFillBand.fill(JRFillBand.java:351)

    [java] at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillSummaryNoLastFooterNewPage(JRVerticalFiller.java:1189)

    [java] at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillSummary(JRVerticalFiller.java:1052)

    [java] at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReportEnd(JRVerticalFiller.java:312)

    [java] at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReport(JRVerticalFiller.java:151)

    [java] at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:909)

    [java] at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:841)

    [java] at net.sf.jasperreports.engine.fill.JRFiller.fill(JRFiller.java:88)

    [java] at net.sf.jasperreports.engine.JasperFillManager.fill(JasperFillManager.java:653)

    [java] at net.sf.jasperreports.engine.JasperFillManager.fillToFile(JasperFillManager.java:542)

    [java] at net.sf.jasperreports.engine.JasperFillManager.fillToFile(JasperFillManager.java:494)

    [java] at net.sf.jasperreports.engine.JasperFillManager.fillReportToFile(JasperFillManager.java:874)

    [java] at ImagesApp.fill(ImagesApp.java:95)

    [java] at ImagesApp.test(ImagesApp.java:71)

     

     

    Not sure how you managed to get passed this exception and able to actually produce a PDF.

    Can you confirm you did not see the above exception in your tests?

     

    Thanks,

    Teodor

    Link to comment
    Share on other sites

    Hi Teodor,

    First, I thank you a lot for searching a solution to this problem.

     

    With the .jrxml I have originally included, I actually manage to obtain a "corrupted" PDF.

     

    With the sample provided in the /demo/samples/images (I took the 3.6.0 version) and replacing the dukesign.jpg, I get the following with i-report 3.6.0 :

     

    Error filling print... java.lang.IllegalArgumentException: bandOffsets.length is wrong!

    net.sf.jasperreports.engine.JRException: java.lang.IllegalArgumentException: bandOffsets.length is wrong!      at net.sf.jasperreports.engine.util.JRJdk14ImageReader.readImage(JRJdk14ImageReader.java:58)      at net.sf.jasperreports.engine.util.JRImageLoader.loadImage(JRImageLoader.java:245)      at net.sf.jasperreports.engine.JRImageRenderer.getImage(JRImageRenderer.java:365)      at net.sf.jasperreports.engine.JRImageRenderer.getDimension(JRImageRenderer.java:401)      at net.sf.jasperreports.engine.fill.JRFillImage.fitImage(JRFillImage.java:1138)      at net.sf.jasperreports.engine.fill.JRFillImage.prepare(JRFillImage.java:1060)      at net.sf.jasperreports.engine.fill.JRFillElementContainer.prepareElements(JRFillElementContainer.java:327)      at net.sf.jasperreports.engine.fill.JRFillFrame.prepare(JRFillFrame.java:214)      at net.sf.jasperreports.engine.fill.JRFillElementContainer.prepareElements(JRFillElementContainer.java:327)      at net.sf.jasperreports.engine.fill.JRFillBand.fill(JRFillBand.java:402)      at net.sf.jasperreports.engine.fill.JRFillBand.fill(JRFillBand.java:361)      at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillSummaryNewPage(JRVerticalFiller.java:1162)      at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillSummary(JRVerticalFiller.java:902)      at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReportEnd(JRVerticalFiller.java:283)      at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReport(JRVerticalFiller.java:117)      at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:908)      at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:811)      at net.sf.jasperreports.engine.fill.JRFiller.fillReport(JRFiller.java:59)      at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:417)      at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:247)      at com.jaspersoft.ireport.designer.compiler.IReportCompiler.run(IReportCompiler.java:855)      at org.openide.util.RequestProcessor$Task.run(RequestProcessor.java:561)      at org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java:986)  Caused by: java.lang.IllegalArgumentException: bandOffsets.length is wrong!      at javax.imageio.ImageTypeSpecifier$Interleaved.(ImageTypeSpecifier.java:269)      at javax.imageio.ImageTypeSpecifier.createInterleaved(ImageTypeSpecifier.java:382)      at com.sun.imageio.plugins.jpeg.JPEGImageReader.getImageTypes(JPEGImageReader.java:745)      at com.sun.imageio.plugins.jpeg.JPEGImageReader.readInternal(JPEGImageReader.java:938)      at com.sun.imageio.plugins.jpeg.JPEGImageReader.read(JPEGImageReader.java:915)      at javax.imageio.ImageIO.read(ImageIO.java:1422)      at javax.imageio.ImageIO.read(ImageIO.java:1326)      at net.sf.jasperreports.engine.util.JRJdk14ImageReader.readImage(JRJdk14ImageReader.java:54) 

    Link to comment
    Share on other sites

    Changed Resolution from Open to No Change Required

    Changed Status from Feedback Requested to Closed


    Hi,I think there is something wrong with the image file you are using, since we are not doing anything special and just try to load it with Java APIs. If Java does not like it, there is little we can do about it.Thanks,Teodor
    Link to comment
    Share on other sites


×
×
  • Create New...