我试图将jasper导出为pdf,但它没有显示西里尔值.当我将其导出为excel时,它确实显示并且输出正常,但是当我尝试导出为PDF时,它不会导出西里尔文值.西里尔字母不是用西里尔字母书写的,它们都是用西里尔字母键盘写成的.
我用来导出的代码是:
JRExporter e = new JRPdfExporter(); e.setParameter(JRPdfExporterParameter.JASPER_PRINT, jasperPrint); e.setParameter(JRPdfExporterParameter.OUTPUT_STREAM, outStream); e.setParameter(JRPdfExporterParameter.OUTPUT_FILE_NAME, NAME);
我甚至尝试过以下参数:
e.setParameter(JRPdfExporterParameter.CHARACTER_ENCODING, "UTF-8");
但没有成功.有什么建议?
Jasper报告使用iText,并且当char未以pdf呈现时,这应该是清单:
是我的实际.tff
支持(OpenType),字体实际上可以呈现字符.并非所有字体都呈现所有字符UTF-8
,请参阅如何测试我的字体是否在pdf中正确呈现?
我是否将正确的编码传递给iText.怀疑(或一般)使用编码Identity-H
,建议用于较新的PDF标准,并使您能够混合不同的编码.
我的字体是否嵌入,以便如果我共享pdf,那么没有此字体的计算机可以显示内容?
该方法已过时了设置上的属性textElement
当前未弃用的方法 v 3-6,是添加字体扩展,这可以通过使用iReport或JasperSoft Studio等工具轻松实现,这些工具可以生成.jar
您的字体扩展名,以便您可以直接将其包含在类路径中.
如何使用iReport或JasperSoft Studio生成字体扩展名.jar.
编辑: OP的问题是清单上的1(.ttf字体无法渲染),但他肯定应该使用非弃用的方法考虑2和3.