iReport 字体不适用于 JVM net.sf.jasperreports.awt.ignore.missing.font=true 无效。

发布于 2025-01-08 00:18:32 字数 2640 浏览 0 评论 0原文

我正在尝试在 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)    at 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)    at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillTitle(JRVerticalFiller.java:323)    at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReportStart(JRVerticalFiller.java:257)    at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReport(JRVerticalFiller.java:128)    at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:836)    at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:746)    at net.sf.jasperreports.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)    at com.jaspersoft.ireport.designer.compiler.IReportCompiler.run(IReportCompiler.java:879)    at org.openide.util.RequestProcessor$Task.run(RequestProcessor.java:572)    at org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java:997)

我在这里找到了 Jasper 停止查找一种字体 设置说明module/etc/jasperreports-4.5.0.jar 内的 default.jasperreports.properties 中的 net.sf.jasperreports.awt.ignore.missing.font=true 。

但这并没有产生任何效果。 iReport 在编译预览时使用的属性文件是否正确?

I'm trying to preview a Jasper report in iReport and am getting this error.

Error filling print... Font 'Helvetica' is not available to the JVM. See the Javadoc for more details.

net.sf.jasperreports.engine.util.JRFontNotFoundException: Font 'Helvetica' is not available to the JVM. See the Javadoc for more details.
    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)
    at 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)
    at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillTitle(JRVerticalFiller.java:323)
    at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReportStart(JRVerticalFiller.java:257)
    at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReport(JRVerticalFiller.java:128)
    at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:836)
    at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:746)
    at net.sf.jasperreports.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)
    at com.jaspersoft.ireport.designer.compiler.IReportCompiler.run(IReportCompiler.java:879)
    at org.openide.util.RequestProcessor$Task.run(RequestProcessor.java:572)
    at org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java:997)

I have found here Jasper stops finding one font instructions to set net.sf.jasperreports.awt.ignore.missing.font=true in the default.jasperreports.properties inside modules/etc/jasperreports-4.5.0.jar.

But this has had no effect. Is that the correct properties file, that iReport uses when compiling a preview?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

白芷 2025-01-15 00:18:32

第一:忽略缺失字体属性在 JR 4.5.0 中停止工作。这是一个错误。已经固定在后备箱里了您可以选择获取该版本,也可以等待 4.5.1。

第二:与实际找到所需的字体相比,忽略丢失的字体(显然)是一个不理想的解决方案。如果您的报告需要 Helvetica,那么您应该使用字体扩展将 Helvetica 包含在您的服务器上。如果您的报告并不真正需要 Helvetica,那么只需将您的报告更改为使用“Serif”等逻辑字体,并让 JVM 使用其默认的衬线字体即可。

First: the ignore missing font property stopped working in JR 4.5.0. It's a bug. It's already fixed in trunk. You can either get that or wait for 4.5.1.

Second: ignoring the missing font is (obviously) a non-ideal solution compared to actually finding the font that you want. If your report needs Helvetica, then you should use font extensions to include Helvetica on your server. If your report doesn't really need Helvetica, then just change your report to use a logical font like 'Serif' and let the JVM use whatever its default serif font is.

缱绻入梦 2025-01-15 00:18:32

尝试通过工具>选项>字体导入新字体,插入 fontxyz.ttf 并记住,
导出扩展并将 jar 添加到您的项目中,或者,
将所有字段更改为面板工具>选项>字体上显示的本机字体。

Try import a new font over tools>options>fonts inserting fontxyz.ttf an remember,
export how a extension and add the jar to your project or,
change all fields to on native font that showed on a panel tools>options>fonts.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文