这是我的工作样本。
字体定义文件(我从字体的jar文件中提取出来):
<?xml version="1.0" encoding="UTF-8"?><fontFamilies> <fontFamily name="Arial"> <normal><![CDATA[fonts/arial.ttf]]></normal> <bold><![CDATA[fonts/arialbd.ttf]]></bold> <italic><![CDATA[fonts/ariali.ttf]]></italic> <boldItalic><![CDATA[fonts/arialbi.ttf]]></boldItalic> <pdfEncoding><![CDATA[Identity-H]]></pdfEncoding> <pdfEmbedded><![CDATA[false]]></pdfEmbedded> </fontFamily></fontFamilies>
jar文件位于应用程序的类路径中。
这是我的Java代码:
String defaultPDFFont = "Arial";JRProperties.setProperty("net.sf.jasperreports.awt.ignore.missing.font", "true");JRProperties.setProperty("net.sf.jasperreports.default.font.name", defaultPDFFont);JasperReport jasperReport = JasperCompileManager.compileReport(reportSource);JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, params);JasperExportManager.exportReportToPdfFile(jasperPrint, outputFileName);
我设置了 net.sf.jasperreports.awt.ignore.missing.font
属性以防止
JRFontNotFoundException: Font 'Arial Custom' is not available to the JVMexception字体丢失时出现错误()。然后,我设置
net.sf.jasperreports.default.font.name
属性以确定将在结果pdf文件中使用的字体。
您可以阅读有关此属性的信息:net.sf.jasperreports.awt.ignore.missing.font和net.sf.jasperreports.default.font.name。
生成的pdf文件正在使用该字体(
Arial在此示例中)。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)