Вы указываете файл JasperPrint, а не файл JasperReport. Позвольте мне разбить файлы и что они:
- report.jrxml - XML-определение отчета jasper - оно определяет отчет, но не может использоваться непосредственно для генерации вывода.
- report.jasper - Скомпилированный файл jrxml (JasperReport). Это можно использовать в качестве входных данных для заполнения отчета данными.
- report.jprint - отчет, заполненный данными и готовый для экспорта в несколько форматов вывода
Вот некоторый код, который нужно начать с файла jrxml, созданного дизайнером, чтобы получить печатный вывод в формате PDF:
Connection connection = PersistenceSessionFactory.getSqlSession().getConnection();
JasperReport report = JasperCompileManager.compileReport( "FancyPantsReport.jrxml" );
// setup parameters for use with the report
HashMap<String, Object> params = new HashMap<String,Object>();
params.put( "sqlDate", fromDate );
// Fill the report data from the sql connection and parameters
JasperPrint printedReport = JasperFillManager.fillReport(report, params, connection);
String outputFilename = "FancyPants-" + dateString + ".pdf";
JasperExportManager.exportReportToPdfFile( printedReport, outputFilename );
LOG.info("Report Generated in " + (System.currentTimeMillis() - start) + "ms");
Обратите внимание: он использует компиляцию для получения JasperReport из jrxml, затем FillManager для получения JasperPrint из JasperReport и, наконец, экспортирует JasperPrint в pdf.