我使用 JasperReports 导出PDF。我有特殊字符(è,à,û)的问题,而我(é,€)没有任何问题。当我使用 Jaspersoft Studio 生成我的文件时,我没有任何问题(所有特殊字符都可以)。只有当我从我的应用程序导出PDF时才会出现问题(只有那些字符不能正常工作(è,à,û)而不是(é,€)
这是我的代码:
try {
jasperPrint = JasperFillManager.fillReport(jasperReport, parametres, connection);
} catch (JRException e) {
throw e;
} finally {
connection.close();
}
return jasperPrint;
}
public byte[] exporterMoisPDF(String siret, long annee, long mois, String num_declarant, String date_declaration, String mois_lettre, String nomFichierJasper)throws Exception {
byte[] rapportPDF=null;
JasperPrint jasperPrint = genererExportMoisJasper(siret, annee, mois, num_declarant, date_declaration, mois_lettre, nomFichierJasper);
jasperPrint.setLocaleCode("UTF-8");
rapportPDF = JasperExportManager.exportReportToPdf(jasperPrint);
return rapportPDF;
答案 0 :(得分:1)
您的fontname.ttf中可能没有这些字符。将正确的字体添加到jasperreports-fonts-x.x.x.jar并重新编译它。
答案 1 :(得分:1)
尝试将<style name="style1" isDefault="true" pdfEncoding="Cp1252"/>
行插入.jrxml文件。 (您也可以在报表设计器中将其添加为&#34;样式&#34;)。
我也遇到了中欧角色的问题,它通过pdfEncoding =&#34; Cp1250&#34;来解决。默认样式设置。
我也尝试了<property name="net.sf.jasperreports.default.pdf.encoding" value="Cp1250"/>
行,但这对我环境中的JasperReports 6.5.0库没有影响。