【问题标题】:Special characters on Jasper Report from Java Primefaces [duplicate]Java Primefaces的Jasper Report上的特殊字符[重复]
【发布时间】:2016-06-16 18:52:31
【问题描述】:

我正在尝试打印这样的字符:

°µ± Ω≥≤Δα

前 3 个字符没有问题,但是当我从 Primefaces App 编译和执行报告时,第二组字符没有打印出来。

这是我用来打印报告的代码:

try {
    fc = FacesContext.getCurrentInstance();
    ExternalContext ec = FacesContext.getCurrentInstance().getExternalContext();
    ec.responseReset();
    ec.setRequestCharacterEncoding("UTF-8");
    ec.setResponseHeader("Content-Disposition", "inline; filename=\""
            + "Report.pdf\"");// opens in same page
    ec.setResponseContentType("application/pdf");
    OutputStream output = ec.getResponseOutputStream();
    Connection jdbcConnection = datasource.getConnection();
    JasperDesign jasperDesign = JRXmlLoader.load(reportFile);
    JasperReport jasperReport = JasperCompileManager
            .compileReport(jasperDesign);
    JasperPrint jasperPrint = JasperFillManager.fillReport(
            jasperReport, parameterMap, jdbcConnection);
    //JasperExportManager.exportReportToPdfStream(jasperPrint, output);
    JRPdfExporter pdf = new JRPdfExporter();
    pdf.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint);
    pdf.setParameter(JRExporterParameter.OUTPUT_STREAM, output);
    pdf.exportReport();
    output.flush();
    output.close();
    fc.getCurrentInstance().responseComplete();
} catch (Exception e) {
    e.printStackTrace();
}

报告运行并打印我在 Jasper Studio 进行测试时需要的每个字符。我认为这里的主要问题是 PDF 流的编码,但我愿意接受建议。

【问题讨论】:

  • 你在使用字体扩展吗?
  • 不,因为不是字体问题。在 Jasper Studio 中,它使用预定义的字体。 @AlexK
  • 可能是字体问题。你应该使用字体扩展。

标签: java jasper-reports encode export-to-pdf


【解决方案1】:

我会自己回答。我只是在报告中使用 Dejavu Sans 并将 maven 依赖项添加到基本的 jasper 字体中,仅此而已。

<!-- Fonts for special characters -->
    <dependency>
        <groupId>net.sf.jasperreports</groupId>
        <artifactId>jasperreports-fonts</artifactId>
        <version>6.0.0</version>
    </dependency>

这是我的 pom.xml 的片段

感谢 cmet 中的人使之成为可能。

【讨论】:

    猜你喜欢
    • 2015-06-25
    • 1970-01-01
    • 2020-03-20
    • 1970-01-01
    • 2012-12-30
    • 2011-09-19
    • 2011-09-30
    • 2011-04-22
    • 2012-03-06
    相关资源
    最近更新 更多