Специальные символы в отчете Jasper от Java Primefaces

Я пытаюсь напечатать такие символы:

°µ± Ω≥≤Δα

У меня нет проблем с первыми тремя, но второй набор символов не печатается, когда я компилирую и выполняю отчет из приложения Primefaces.

Вот код, который я использую для печати отчета:

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, но я открыт для предложений.

1 ответ

Решение

Я отвечу сам. Я просто использую Dejavu Sans в отчете и ставлю maven-зависимость на основные шрифты яшмы, вот и все.

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

Это фрагмент моего pom.xml

Спасибо ребятам в комментариях, которые сделали это возможным.

Другие вопросы по тегам