Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/361.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
net.sf.jasperreports.engine.JRRuntimeException:java.io.IOException:无法读取字体数据_Java_Fonts_Jasper Reports - Fatal编程技术网

net.sf.jasperreports.engine.JRRuntimeException:java.io.IOException:无法读取字体数据

net.sf.jasperreports.engine.JRRuntimeException:java.io.IOException:无法读取字体数据,java,fonts,jasper-reports,Java,Fonts,Jasper Reports,我试图通过JasperReport创建PDF报告,但读取字体数据时存在一个问题。 我有jasperreports_extension.properties&类路径中的相关TTF文件。 以下是错误: java.io.IOException: Problem reading font data. java.awt.Font.createFont(Font.java:924) net.sf.jasperreports.engine.fonts.SimpleFontFace.<in

我试图通过JasperReport创建PDF报告,但读取字体数据时存在一个问题。 我有jasperreports_extension.properties&类路径中的相关TTF文件。 以下是错误:

java.io.IOException: Problem reading font data.
    java.awt.Font.createFont(Font.java:924)
    net.sf.jasperreports.engine.fonts.SimpleFontFace.<init>(SimpleFontFace.java:69)
    net.sf.jasperreports.engine.fonts.SimpleFontFamily.createFontFace(SimpleFontFamily.java:316)
    net.sf.jasperreports.engine.fonts.SimpleFontFamily.setNormal(SimpleFontFamily.java:85)
    net.sf.jasperreports.engine.fonts.SimpleFontExtensionHelper.parseFontFamily(SimpleFontExtensionHelper.java:243)
    net.sf.jasperreports.engine.fonts.SimpleFontExtensionHelper.parseFontFamilies(SimpleFontExtensionHelper.java:214)
    net.sf.jasperreports.engine.fonts.SimpleFontExtensionHelper.loadFontFamilies(SimpleFontExtensionHelper.java:183)
    net.sf.jasperreports.engine.fonts.SimpleFontExtensionHelper.loadFontFamilies(SimpleFontExtensionHelper.java:152)
    net.sf.jasperreports.engine.fonts.FontExtensionsRegistry.getExtensions(FontExtensionsRegistry.java:55)
    net.sf.jasperreports.extensions.DefaultExtensionsRegistry.getExtensions(DefaultExtensionsRegistry.java:110)
    net.sf.jasperreports.engine.util.JRStyledTextParser.<clinit>(JRStyledTextParser.java:83)
    net.sf.jasperreports.engine.fill.JRBaseFiller.<init>(JRBaseFiller.java:121)
    net.sf.jasperreports.engine.fill.JRVerticalFiller.<init>(JRVerticalFiller.java:77)
    net.sf.jasperreports.engine.fill.JRVerticalFiller.<init>(JRVerticalFiller.java:87)
    net.sf.jasperreports.engine.fill.JRVerticalFiller.<init>(JRVerticalFiller.java:57)
    net.sf.jasperreports.engine.fill.JRFiller.createFiller(JRFiller.java:142)
    net.sf.jasperreports.engine.fill.JRFiller.fillReport(JRFiller.java:78)
    net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:624)
    org.springframework.web.servlet.view.jasperreports.AbstractJasperReportsView.fillReport(AbstractJasperReportsView.java:666)
    org.springframework.web.servlet.view.jasperreports.AbstractJasperReportsView.renderMergedOutputModel(AbstractJasperReportsView.java:559)
    org.springframework.web.servlet.view.AbstractView.render(AbstractView.java:250)
    org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1063)
    org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:801)
    org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:719)
    org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:644)
    org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:549)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
java.io.IOException:读取字体数据时出现问题。
java.awt.Font.createFont(Font.java:924)
net.sf.jasperreports.engine.fonts.SimpleFontFace.(SimpleFontFace.java:69)
net.sf.jasperreports.engine.fonts.SimpleFontFamily.createFontFace(SimpleFontFamily.java:316)
net.sf.jasperreports.engine.fonts.SimpleFontFamily.setNormal(SimpleFontFamily.java:85)
net.sf.jasperreports.engine.fonts.SimpleFontExtensionHelper.parseFontFamily(SimpleFontExtensionHelper.java:243)
net.sf.jasperreports.engine.fonts.SimpleFontExtensionHelper.parseFontFamilies(SimpleFontExtensionHelper.java:214)
net.sf.jasperreports.engine.fonts.SimpleFontExtensionHelper.loadFontFamilies(SimpleFontExtensionHelper.java:183)
net.sf.jasperreports.engine.fonts.SimpleFontExtensionHelper.loadFontFamilies(SimpleFontExtensionHelper.java:152)
net.sf.jasperreports.engine.fonts.FontExtensionsRegistry.getExtensions(FontExtensionsRegistry.java:55)
net.sf.jasperreports.extensions.DefaultExtensionsRegistry.getExtensions(DefaultExtensionsRegistry.java:110)
net.sf.jasperreports.engine.util.JRStyledTextParser。(JRStyledTextParser.java:83)
net.sf.jasperreports.engine.fill.JRBaseFiller.(JRBaseFiller.java:121)
net.sf.jasperreports.engine.fill.JRVerticalFiller.(JRVerticalFiller.java:77)
net.sf.jasperreports.engine.fill.JRVerticalFiller.(JRVerticalFiller.java:87)
net.sf.jasperreports.engine.fill.JRVerticalFiller.(JRVerticalFiller.java:57)
net.sf.jasperreports.engine.fill.JRFiller.createFiller(JRFiller.java:142)
net.sf.jasperreports.engine.fill.JRFiller.fillReport(JRFiller.java:78)
net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:624)
org.springframework.web.servlet.view.jasperreports.AbstractJasperReportsView.fillReport(AbstractJasperReportsView.java:666)
org.springframework.web.servlet.view.jasperreports.AbstractJasperReportsView.renderMergedOutputModel(AbstractJasperReportsView.java:559)
org.springframework.web.servlet.view.AbstractView.render(AbstractView.java:250)
org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1063)
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:801)
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:719)
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:644)
org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:549)
javaservlet.http.HttpServlet.service(HttpServlet.java:690)
javaservlet.http.HttpServlet.service(HttpServlet.java:803)
谁能帮我


谢谢

更改tomcat临时目录的权限,以允许tomcat/jasper对其进行写入


请参阅:

在我的例子中,我通过在Tomcat文件夹中手动创建临时目录并更改权限解决了这个问题


使用管理员权限运行tomcat/application server也会有所帮助。

我面临同样的问题,根本原因是从tomcat目录中删除了temp文件夹
解决方案是,当我在tomcat中创建临时文件夹时,这个问题就解决了。

`在类路径中有jasperreports\u extension.properties和相关的TTF文件。`-你用字体创建jar了吗?查看主题引用自示例:
一旦您拥有TTF文件、jasperreports_extension.properties和fonts.xml文件,您就可以将它们打包到一个JAR文件中,然后将JAR放入应用程序的类路径中,以便在应用程序可能运行的任何地方都能为您的报告提供新字体。
是。我已经用iReport工具创建了Jar,并将其放在类路径中。同样的错误出现在您使用的JasperReports库的哪个版本?我们使用了版本4.5.1My tomcat was se来使用c:\windows。也许更改temp dir(java.io.tmpdir属性)更好。