I have a .jrxml
file which is used to generate a jasper report and then a a pdf file from that. for that I used this code.
JasperCompileManager.compileReportToFile("C:/Users/my-pc/Desktop/letters/report xml/testreport.jrxml");
But I got an issue with xsd
and dtd
which is described here. That article introduces a way to solve the issue by using a java program called LegacyJasperInputStream
.
This is how I should call it.
JasperDesign design = JRXmlLoader.load(
new LegacyJasperInputStream(new FileInputStream("C:/Users/my-pc/Desktop/letters/report xml/testreport.jrxml"))
);
My question is what is this JasperDesign
. Can I compile that into .jasper
.
If so, how to do it?
Thanks!
After searching and trying....Here we go.
net.sf.jasperreports.engine.design.JasperDesign design = JRXmlLoader.load(
new LegacyJasperInputStream(new FileInputStream("C:/Users/my-pc/Desktop/letters/report xml/testreport.jrxml"))
);
JasperReport jasperReport = asperCompileManager.compileReport(design);
JasperPrint print = JasperFillManager.fillReport(jasperReport, parameters, new JREmptyDataSource());
System.out.println("INFO: Report is filled and to be exported to pdf now");
try {
// export report to pdf
JasperExportManager.exportReportToPdfFile(print, "C:/Users/my-pc/Desktop/letters/report xml/test.pdf");
System.out.println("DEBUG: Expported to pdf");
} catch (Exception e) {
System.out.println("EXCEPTION: while generating pdf : "+e);
}