Advertisement
Guest User

Untitled

a guest
Sep 20th, 2017
445
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.99 KB | None | 0 0
  1. Resource resource = new ClassPathXmlApplicationContext().getResource("classpath:reports/project.jrxml");
  2. JsonDataSource ds = new JsonDataSource(new File("c:myjson.json"));
  3. jasperDesign = JRXmlLoader.load(resource.getInputStream());
  4. JasperReport jasperReport = JasperCompileManager.compileReport(jasperDesign);
  5. JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, parameters, ds);
  6. JasperExportManager.exportReportToPdfFile(jasperPrint, destination+fileName+".pdf");
  7.  
  8. {
  9. "userName": "Evil Raat",
  10. "details": {
  11. "email": "not_really@test.com"
  12. }
  13. }
  14.  
  15. <?xml version="1.0" encoding="UTF-8"?>
  16. <jasperReport xmlns="http://jasperreports.sourceforge.net/jasperreports" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports http://jasperreports.sourceforge.net/xsd/jasperreport.xsd" name="sample" language="groovy" pageWidth="595" pageHeight="842" columnWidth="555" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20" uuid="a894078a-929b-4aae-a1d0-46485f0f8835">
  17. <property name="ireport.zoom" value="1.0"/>
  18. <property name="ireport.x" value="0"/>
  19. <property name="ireport.y" value="0"/>
  20. <queryString language="json">
  21. <![CDATA[]]>
  22. </queryString>
  23. <field name="userName" class="java.lang.String">
  24. <fieldDescription><![CDATA[userName]]></fieldDescription>
  25. </field>
  26. <field name="userEmail" class="java.lang.String">
  27. <fieldDescription><![CDATA[details.email]]></fieldDescription>
  28. </field>
  29. <title>
  30. <band height="200" splitType="Stretch">
  31. <textField>
  32. <reportElement uuid="3b74775b-4555-43c3-bdf2-1677145c8660" x="0" y="31" width="555" height="20"/>
  33. <textElement textAlignment="Right">
  34. <font fontName="Helvetica" size="12" isBold="true"/>
  35. </textElement>
  36. <textFieldExpression><![CDATA[$F{userName}]]></textFieldExpression>
  37. </textField>
  38. <textField>
  39. <reportElement uuid="aa6cc7c8-2ca1-4f0f-92e2-c466083daba0" x="0" y="54" width="555" height="20"/>
  40. <textElement textAlignment="Right">
  41. <font fontName="Helvetica" size="12" isBold="true"/>
  42. </textElement>
  43. <textFieldExpression><![CDATA[$F{userEmail}]]></textFieldExpression>
  44. </textField>
  45. </band>
  46. </title>
  47. </jasperReport>
  48.  
  49. [
  50. {"name":"Jerry", "value":"Jesus"},
  51. {"name":"Gideon", "value": "Loves"},
  52. {"name":"Eva", "value": "You"}
  53. ]
  54.  
  55. import net.sf.jasperreports.engine.export.JRHtmlExporterParameter;
  56. import net.sf.jasperreports.engine.export.JRXlsExporterParameter;
  57. import net.sf.jasperreports.engine.export.JRHtmlExporter;
  58. import net.sf.jasperreports.engine.export.JRXlsExporter;
  59. import net.sf.jasperreports.engine.data.JsonDataSource;
  60. import net.sf.jasperreports.engine.JRExporterParameter;
  61. import net.sf.jasperreports.engine.JasperExportManager;
  62. import net.sf.jasperreports.engine.JasperFillManager;
  63. import net.sf.jasperreports.engine.util.JRLoader;
  64. import net.sf.jasperreports.engine.JasperReport;
  65. import net.sf.jasperreports.engine.JRException;
  66. import net.sf.jasperreports.engine.JasperPrint;
  67. import org.apache.commons.codec.binary.Base64;
  68. import java.util.HashMap;
  69. import java.util.Locale;
  70. import java.util.ArrayList;
  71. import java.util.List;
  72. import java.util.Map;
  73. import java.io.*;
  74.  
  75. //Class Name. This must match the class name you put in your build.gradle file
  76. public class JasperPDFExample {
  77. public static void main(String[] args) {
  78. try {
  79. try {
  80. //Our json object. This can be loaded from file
  81. String rawJsonData = "[{"name":"Jerry", "value":"Jesus"},"
  82. + "{"name":"Gideon", "value": "Loves"},"
  83. + "{"name":"Eva", "value": "You"}"
  84. + "]";
  85. //Load compiled jasper report that we created on first section.
  86. JasperReport report = (JasperReport) JRLoader.loadObject(new File("/home/jerry/Sample.jasper"));
  87. //Convert json string to byte array.
  88. ByteArrayInputStream jsonDataStream = new ByteArrayInputStream(rawJsonData.getBytes());
  89. //Create json datasource from json stream
  90. JsonDataSource ds = new JsonDataSource(jsonDataStream);
  91. //Create HashMap to add report parameters
  92. Map parameters = new HashMap();
  93. //Add title parameter. Make sure the key is same name as what you named the parameter in jasper report.
  94. parameters.put("title", "Jasper PDF Example");
  95. //Create Jasper Print object passing report, parameter json data source.
  96. JasperPrint jasperPrint = JasperFillManager.fillReport(report, parameters, ds);
  97. //Export and save pdf to file
  98. JasperExportManager.exportReportToPdfFile(jasperPrint,"/home/jerry/jasperpdfexample.pdf");
  99. } catch (JRException ex) {
  100. ex.printStackTrace();
  101. throw new RuntimeException(ex);
  102. } catch (Exception ex) {
  103. ex.printStackTrace();
  104. throw new RuntimeException(ex);
  105. }
  106. } catch (Exception ex) {
  107. ex.printStackTrace();
  108. throw new RuntimeException(ex);
  109. }
  110. }
  111. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement