如何 - 更新现有的 JasperReports 演示以使用 Aspose.Pdf for JasperReports

更新演示以使用 Aspose.PDF

  1. http://sourceforge.net/project/showfiles.php?group_id=36382&package_id=28579 下载 JasperReports。 确保下载整个存档项目,包括源代码和演示,而不仅仅是一个 JAR。 本教程使用 JasperReports-3.5.2 准备。

  2. 将归档项目解压到硬盘上的某个位置,例如 C:\。

  3. Aspose.PDF.JasperReports.zip 中的 \lib 文件夹复制 aspose.pdf.jasperreports.jar<InstallDir>\jasperreports\lib。

  4. 打开 <InstallDir>\jasperreports\demo\samples,(其中 <InstallDir> 是您解压 JasperReports 的位置)以更新现有的演示。如果您选择了字体演示,例如,用于与 Aspose.PDF for JasperReports 一起使用,请创建它的副本,以便原始演示保持不变。在此示例中,我们将新文件夹命名为 fonts.ap
    注意:演示将从 <InstallDir> \jasperreports\demo\samples 运行,因为演示构建脚本依赖于 JasperReports 的文件夹结构。如果您更改示例文件夹,则必须修改构建脚本。

  5. 从 src 文件夹打开 FontsApp.java 文件,并添加对 Aspose.PDF for JasperReports 的引用:

    import com.aspose.pdf.jr3_7_0.jasperreports.*;(我们使用 jr3_7_0 是因为本教程是用 JasperReports 3.5.2 准备的。)

  6. 添加一个新的字符串: private static final String TASK_ASPOSE_PDF = “aspose_pdf”; 作为通过 Aspose.PDF for JasperReports 的导出选项以及现有变量。

  7. 找到 for else if (TASK_PDF.equals(taskName)) 代码段并复制整个段。

  8. 将代码段粘贴在同一段下。

 else if (TASK_PDF.equals(taskName))
{
  File sourceFile = new File(fileName);
  JasperPrint jasperPrint = (JasperPrint)JRLoader.loadObject(sourceFile);
  File destFile = new File(sourceFile.getParent(), jasperPrint.getName() + ".pdf");
  JRPdfExporter exporter = new JRPdfExporter();
  HashMap fontMap = new HashMap();
  FontKey key = new FontKey("DejaVu Serif", true, false);
  PdfFont font = new PdfFont("DejaVuSerif-Bold.ttf", "Cp1252", true);
  fontMap.put(key, font);
  exporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint);

  exporter.setParameter(JRExporterParameter.OUTPUT_FILE_NAME, destFile.toString());
exporter.setParameter(JRExporterParameter.FONT_MAP, fontMap);
exporter.exportReport();
System.err.println("PDF 创建时间 : " + (System.currentTimeMillis() - start));
}
update
else if (TASK_PDF.equals(taskName))
as
else if (TASK_ASPOSE_PDF.equals(taskName))
replace
JRPdfExporter exporter = new JRPdfExporter();
with
com.aspose.pdf.jr3_7_0.jasperreports.JrPdfExporter exporter = new
com.aspose.pdf.jr3_7_0.jasperreports.JrPdfExporter();
  1. 打开 build.xml 文件。
  2. 复制以下段落并将其放置在同一文件中:
<target name="pdf" description="通过 Aspose.PDF 为 JasperReports 生成 PDF。">
    <java classname="${class.name}">
        <arg value="pdf"/>
        <arg value="${file.name}.jrprint"/>
        <classpath refid="classpath"/>
    </java>
</target>
update  name="pdf"  as   name="aspose_pdf"
update  <arg value="pdf"/>  as   <arg value="aspose_pdf"/>
  1. 要运行演示:
- 解压 ANT 工具并按照工具手册中的说明设置环境变量。
- 将当前目录更改为 <InstallDir>\demo\hsqldb 并运行以下命令行:
  ant runServer
12. 打开一个新的命令提示符实例,将当前目录更改为 <InstallDir>\demo\samples\fonts.ap 并在命令行中运行以下命令:
13. ant javac – 编译测试应用程序的 Java 源文件
14. ant compile – 编译 XML 报告设计并生成 .jasper 文件
15. ant fill – 用数据填充已编译的报告设计并生成 .jrprint 文件
16. ant aspose_pdf – 使用 Aspose.PDF for JasperReports 生成 PDF 文件。
17. 从 <InstallDir>\demo\samples\fonts.ap\build\reports\ 文件夹中打开生成的 PDF (**FontsReport.pdf**)。