Jump to content
We've recently updated our Privacy Statement, available here ×
  • How to add SVG image to your report (jrxml)


    akonkin
    • Version: v5.2, v5.1, v5.0 Product: iReport Designer

    In this short how-to I want to share with you the information that will help you to add SVG image to your jrxml report.

    To render SVG image in iReport:
    - please try to use expression that I quote below:
     

     
     
    

    - in the path to the image use double slashes (I've tested this report on windows, please check the requirements to the slashed in the path for Linux environment)

    I've attached a sample of the report with the test svg image to the article.
    To run it correct the path to the test image, use an empty data source and then preview this report.

    iReport_svn_image_test.png.d7a8d0bb095dcdb5d1f00275ebc95ad4.png

    Thank you for your attention to this article.

    Alex

    report_svg_test.jrxml


    User Feedback

    Recommended Comments

    Is it possible to have inline svg code?? (so I can pass it a dynamic with in a detail report for example)

     

    <imageExpression class="net.sf.jasperreports.engine.JRRenderable"><![CDATA[net.sf.jasperreports.renderers.BatikRenderer.getInstance(new java.io.File("<svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="100" height="13" viewBox="0 0 100 13">  <defs>    <linearGradient id="linear-gradient" x1="-176.88" y1="316.13" x2="-150.45" y2="316.13" gradientTransform="matrix(3.78, 0, 0, -3.78, 689.01, 1202.56)" gradientUnits="userSpaceOnUse">      <stop offset="0" stop-color="green"/>      <stop offset="1" stop-color="green" stop-opacity="0"/>    </linearGradient>  </defs>  <title>gradient</title>  <path d="M0,1.26H100v10.4H0Z" style="fill: url(#linear-gradient)"/>  <path d="M69.51,0V13" style="fill: none;stroke: #000"/></svg>"))]]></imageExpression>[/code]

     

    Link to comment
    Share on other sites

    I've tried the above but it gives me the error below:

    java.lang.NoClassDefFoundError: net/sf/jasperreports/renderers/BatikUserAgent
        at net.sf.jasperreports.renderers.util.SvgDataSniffer.<init>(SvgDataSniffer.java:57) ~[jasperreports-6.13.0.jar:6.13.0-46ada4d1be8f3c5985fd0b6146f3ed44caed6f05]
        at net.sf.jasperreports.renderers.util.SvgDataSniffer.getInstance(SvgDataSniffer.java:68) ~[jasperreports-6.13.0.jar:6.13.0-46ada4d1be8f3c5985fd0b6146f3ed44caed6f05]
        at net.sf.jasperreports.renderers.util.RendererUtil.getSvgDataSniffer(RendererUtil.java:164) ~[jasperreports-6.13.0.jar:6.13.0-46ada4d1be8f3c5985fd0b6146f3ed44caed6f05]
        at net.sf.jasperreports.renderers.util.RendererUtil.getSvgInfo(RendererUtil.java:133) ~[jasperreports-6.13.0.jar:6.13.0-46ada4d1be8f3c5985fd0b6146f3ed44caed6f05]
        at net.sf.jasperreports.renderers.util.RendererUtil.isSvgData(RendererUtil.java:114) ~[jasperreports-6.13.0.jar:6.13.0-46ada4d1be8f3c5985fd0b6146f3ed44caed6f05]
        at net.sf.jasperreports.renderers.util.RendererUtil.isSvgData(RendererUtil.java:153) ~[jasperreports-6.13.0.jar:6.13.0-46ada4d1be8f3c5985fd0b6146f3ed44caed6f05]
        at net.sf.jasperreports.engine.export.JRPdfExporter$InternalImageProcessor.process(JRPdfExporter.java:1758) ~[jasperreports-6.13.0.jar:6.13.0-46ada4d1be8f3c5985fd0b6146f3ed44caed6f05]
        at net.sf.jasperreports.engine.export.JRPdfExporter$InternalImageProcessor.access$300(JRPdfExporter.java:1713) ~[jasperreports-6.13.0.jar:6.13.0-46ada4d1be8f3c5985fd0b6146f3ed44caed6f05]
        at net.sf.jasperreports.engine.export.JRPdfExporter.exportImage(JRPdfExporter.java:1653) ~[jasperreports-6.13.0.jar:6.13.0-46ada4d1be8f3c5985fd0b6146f3ed44caed6f05]
        at net.sf.jasperreports.engine.export.JRPdfExporter.exportElements(JRPdfExporter.java:1267) ~[jasperreports-6.13.0.jar:6.13.0-46ada4d1be8f3c5985fd0b6146f3ed44caed6f05]
        at net.sf.jasperreports.engine.export.JRPdfExporter.exportPage(JRPdfExporter.java:1210) ~[jasperreports-6.13.0.jar:6.13.0-46ada4d1be8f3c5985fd0b6146f3ed44caed6f05]
        at net.sf.jasperreports.engine.export.JRPdfExporter.exportReportToStream(JRPdfExporter.java:1074) ~[jasperreports-6.13.0.jar:6.13.0-46ada4d1be8f3c5985fd0b6146f3ed44caed6f05]
        at net.sf.jasperreports.engine.export.JRPdfExporter.exportReport(JRPdfExporter.java:691) ~[jasperreports-6.13.0.jar:6.13.0-46ada4d1be8f3c5985fd0b6146f3ed44caed6f05]
        at net.sf.jasperreports.engine.JasperExportManager.exportToPdf(JasperExportManager.java:217) ~[jasperreports-6.13.0.jar:6.13.0-46ada4d1be8f3c5985fd0b6146f3ed44caed6f05]
        at net.sf.jasperreports.engine.JasperExportManager.exportReportToPdf(JasperExportManager.java:542) ~[jasperreports-6.13.0.jar:6.13.0-46ada4d1be8f3c5985fd0b6146f3ed44caed6f05]

     

    Any idea why is that happening ?

    Link to comment
    Share on other sites



    Guest
    This is now closed for further comments

×
×
  • Create New...