JVM net.sf.jasperreports.awt.ignore.missing.font = true不可用的iReport字体无效.

Dan*_*ley 1 fonts jasper-reports ireport

我正在尝试在iReport中预览Jasper报告并收到此错误.

填写打印时出错... JVM无法使用字体'Helvetica'.有关更多详细信息,请参阅Javadoc.

net.sf.jasperreports.engine.util.JRFontNotFoundException:字体'Helvetica'不可用于JVM.有关更多详细信息,请参阅Javadoc.at net.sf.jasperreports.engine.util.JRFontUtil.checkAwtFont(JRFontUtil.java:358)at net.sf.jasperreports.engine.fill.TextMeasurer.measureSimpleText(TextMeasurer.java:537)at net.sf.jasperreports.engine .fill.TextMeasurer.measure(TextMeasurer.java:341)at net.sf.jasperreports.engine.fill.JRFillTextElement.chopTextElement(JRFillTextElement.java:511)at net.sf.jasperreports.engine.fill.JRFillStaticText.prepare(JRFillStaticText) .java:183)net.sf.jasperreports.engine.fill.JRFillElementContainer.prepareElements(JRFillElementContainer.java:328)at net.sf.jasperreports.engine.fill.JRFillBand.fill(JRFillBand.java:393)at net. sf.jasperreports.engine.fill.JRFillBand.fill(JRFillBand.java:352)位于net.sf.jasperreports.engine.fill的net.sf.jasperreports.engine.fill.JRVerticalFiller.fillTitle(JRVerticalFiller.java:323). JRVerticalFiller.fillReportStart(JRVerticalFiller.java:257)at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReport(JRVerticalFiller.ja va:128)net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:836)net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:746)at net.sf .sasperreports.engine.fill.JRFiller.fillReport(JRFiller.java:58)at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:417)at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager) .java:247)在org.openide的org.openide.util.RequestProcessor $ Task.run(RequestProcessor.java:572)的com.jaspersoft.ireport.designer.compiler.IReportCompiler.run(IReportCompiler.java:879). util.RequestProcessor $ Processor.run(RequestProcessor.java:997)

我在这里发现Jasper在模块/ etc/jasperreports-4.5.0.jar中的default.jasperreports.properties中停止找到一个字体指令来设置net.sf.jasperreports.awt.ignore.missing.font = true.

但这没有任何效果.这是iReport在编译预览时使用的正确属性文件吗?

mda*_*man 5

第一:忽略丢失的字体属性在JR 4.5.0中停止工作.这是一个错误.它已经固定在行李箱中了.你可以得到它或等待4.5.1.

第二:忽略丢失的字体(显然)是一个非理想的解决方案,而不是实际找到你想要的字体.如果您的报告需要Helvetica,那么您应该使用字体扩展名将Helvetica包含在您的服务器上.如果您的报告确实不需要Helvetica,那么只需将报告更改为使用"Serif"等逻辑字体,并让JVM使用其默认的serif字体.