我正在使用JasperReports和DynamicReports编写Java代码,创建一个包含UTF-8字符的PDF格式报告。但是问题是,生成的PDF文件根本不包含UTF-8字符,就像它们被替换成""一样。在使用OutputStream创建UTF-8文件时,有什么需要注意的吗?
public void toPdf(String path){
OutputStream outHtml;
try {
outHtml = new FileOutputStream(path);
jasperBuilder.toPdf(outHtml);
} catch (Exception e1) {
logger.error("failed to create PDF", e1);
}
}
这可能值得注意,创建XLS和HTML文件并没有遇到这样的问题。
请注意,在
jasperBuilder.toPdf(outHtml);
下有许多行代码,我已经跟踪了这些行,并没有在这些行中消除我的UTF-8字符。所以我想问题出在outHtml = new FileOutputStream(path);
上。
jasperBuilder
,这与FileOutputStream
无关。 - Jon Skeet