2015-02-19 2 views
0

У меня есть файл .jrxml, который используется для генерации отчета о яшме, а затем файл PDF. для этого я использовал этот код.скомпилировать проект Jasper в файл .jasper

JasperCompileManager.compileReportToFile("C:/Users/my-pc/Desktop/letters/report xml/testreport.jrxml"); 

Но у меня проблема с xsd и dtd, который описан здесь. В этой статье представлен способ решения проблемы с помощью java-программы под названием LegacyJasperInputStream.

Вот как я должен это назвать.

JasperDesign design = JRXmlLoader.load(
    new LegacyJasperInputStream(new FileInputStream("C:/Users/my-pc/Desktop/letters/report xml/testreport.jrxml")) 
); 

Мой вопрос: что это JasperDesign. Могу ли я скомпилировать это в .jasper. Если да, то как это сделать?

Спасибо!

ответ

0

После поиска и попытки ... Здесь мы идем.

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); 
      }