我正在尝试在iReport中预览Jasper报告并收到此错误。
错误填充打印...字体“黑体”是不可用的JVM。更多细节见的Javadoc。
net.sf.jasperreports.engine.util.JRFontNotFoundException:字体“黑体”不是提供给JVM。更多细节见的Javadoc。 在net.sf.jasperreports.engine.util.JRFontUtil.checkAwtFont(JRFontUtil.java:358) 在net.sf.jasperreports.engine.fill.TextMeasurer.measureSimpleText(TextMeasurer.java:537) 在net.sf.jasperreports.engine.fill.TextMeasurer.measure(TextMeasurer.java:341) 在net.sf.jasperreports.engine.fill.JRFillTextElement.chopTextElement(JRFillTextElement.java:511) 在net.sf.jasperreports.engine.fill.JRFillStaticText.prepare(JRFillStaticText.java:183) 在net.sf.jasperreports.engine.fill.JRFillElementContainer.prepareElements(JRFillElementContainer.java:328) 在net.sf.jasperreports.engine.fill.JRFillBand.fill(JRFillBand.java:393) 在net.sf.jasperreports.engine.fill.JRFillBand.fill(JRFillBand.java:352) 在net.sf.jasperreports.engine.fill.JRVerticalFiller.fillTitle(JRVerticalFiller.java:323) 在net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReportStart(JRVerticalFiller.java:257) 在net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReport(JRVerticalFiller.java:128) 在net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:836) 在net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:746) 在net.sf.jasperreports.engine.fill.JRFiller.fillReport(JRFiller.java:58) 在net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:417) 在net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:247) 在com.jaspersoft.ireport.designer.compiler.IReportCompiler.run(IReportCompiler.java:879) 在org.openide.util.RequestProcessor $ Task.run(RequestProcessor.java:572) 在org.openide.util.RequestProcessor $ Processor.run(RequestProcessor.java:997)
我在这里找到Jasper stops finding one font指令,在modules / etc / jasperreports-4.5.0.jar中的default.jasperreports.properties中设置net.sf.jasperreports.awt.ignore.missing.font = true。
但这没有任何效果。这是iReport在编译预览时使用的正确属性文件吗?
答案 0 :(得分:5)
首先:忽略缺少的字体属性在JR 4.5.0中停止工作。这是一个错误。它已经固定在行李箱中了。你可以得到它或等待4.5.1。
第二:与实际找到你想要的字体相比,忽略丢失的字体(显然)是一个非理想的解决方案。如果您的报告需要Helvetica,那么您应该使用字体扩展名将Helvetica包含在您的服务器上。如果您的报告确实不需要Helvetica,那么只需将报告更改为使用“Serif”等逻辑字体,并让JVM使用其默认的serif字体。
答案 1 :(得分:1)
尝试在工具上导入新字体>选项>字体插入fontxyz.ttf记住, 导出扩展程序并将jar添加到项目中,或者 将所有字段更改为在面板工具>选项>字体上显示的本机字体。