字体对于Jasper报告的JVM不可用
我正在尝试使用DynamicAsper生成报告,但出现以下错误:字体对于Jasper报告的JVM不可用,jvm,jasper-reports,ubuntu-10.04,dynamic-jasper,Jvm,Jasper Reports,Ubuntu 10.04,Dynamic Jasper,我正在尝试使用DynamicAsper生成报告,但出现以下错误: net.sf.jasperreports.engine.util.JRFontNotFoundException: Font 'Arial' is not available to the JVM. 已安装,但我猜JVM没有使用其中的任何字体 我正在使用Ubuntu 10.04 如何解决这个问题?我只选择了“SansSerif”或“Serif”,而不是“
net.sf.jasperreports.engine.util.JRFontNotFoundException:
Font 'Arial' is not available to the JVM.
已安装,但我猜JVM没有使用其中的任何字体
我正在使用Ubuntu 10.04
如何解决这个问题?我只选择了“SansSerif”或“Serif”,而不是“Arial”或“Times New Roman” 可以通过iReport创建自定义字体,并将其转换为jars文件尝试添加行 net.sf.jasperreports.awt.ignore.missing.font=true 到您的jasperreports.properties文件
我使用IReport安装字体: 工具->选项->字体->单击安装字体 然后选择字体并单击 ->导出为扩展名并键入名称myfont.jar 将这个jar和spring.jar*添加到构建路径中
*从Jaspersoft\iReport-3.7.0\iReport\modules\ext复制spring.jar我尝试安装mscorefonts,但该软件包已安装并且是最新的
sudo apt-get update
sudo apt-get install ttf-mscorefonts-installer
我尝试在文件系统中搜索字体,使用:
ls /usr/share/fonts/truetype/msttcorefonts/
这个文件夹刚刚有了自述文件,以及关于如何安装的正确说明
cat /usr/share/fonts/truetype/msttcorefonts/README
您需要为此建立internet连接:
sudo apt-get install --reinstall ttf-mscorefonts-installer
我重新安装了ttf mscorefonts安装程序(如上所示,确保接受EULA!),问题得到解决。将字体复制到以下目录
JDK_HOME\jre\lib\font您可以通过安装字体来实现,这意味着您可以在任何地方运行特定的应用程序。最简单的方法是将此bl行添加到jrxml文件中:
<property name="net.sf.jasperreports.awt.ignore.missing.font" value="true"/>
适用于Debian
加
至/etc/apt/sources.list中的deb和deb src,即:
deb http://ftp.debian.org/debian/ squeeze main non-free contrib
deb-src http://ftp.debian.org/debian/ squeeze main non-free contrib
然后
当然,您需要重新启动jasperserver。即:
/opt/jasperreports-server-cp-4.5.0/ctlscript.sh restart
更改您的版本/路径。
sudo apt get install msttcorefonts
可以(在我们的Ubuntu开发环境中)工作,但不是一个很好的解决方案
相反,我们将字体与应用程序捆绑在一起。他们的JAR文件捆绑了以下字体
- Arial
- 新罗马时代
- 信使新
- 连环漫画
- 乔治亚州
- 威尔达纳
- 等距
我在基于Spring 3并部署在Oracle Linux 6上的Weblogic 10.3上的web应用程序中遇到了这个问题。会议上提到的解决方案对我不起作用 我必须采取以下步骤: 1.将Arial*.ttf字体文件复制到JROCKIT\u JAVA\u HOME/jre/lib/fonts目录 2.在fontconfig.properties.src中输入字体 3.从Weblogic控制台重新启动群集
filename.Arial=Arial.ttf
filename.Arial_Bold=Arial_Bold.ttf
filename.Arial_Italic=Arial_Italic.ttf
filename.Arial_Bold_Italic=Arial_Bold_Italic.ttf
对于CentOS:
wget
然后:
毕竟,重新启动JVM。用多种语言(Unicode)创建jasper报表。 1) 在ireport设计中安装字体 2) 创建字体扩展(我们将在应用程序类路径中使用) 3) 在操作系统上安装字体(可选)
4) 将字体的所有.ttf粘贴到jre->lib->font目录中(否则web应用程序将抛出错误font对JVM不可用)实际上,我用一种非常简单的方法解决了这个问题
主路径
,如/root
.font
所有字体文件
复制到。字体
,如果使用windows,可以从C:\windows\fonts
复制字体sudo apt get install fontconfig
fc cache–fv
重新创建字体缓存有三种方法可以避免这样的问题 方法1:通过设置忽略缺少的字体属性。
JRProperties.setProperty("net.sf.jasperreports.awt.ignore.missing.font", "true");
JRProperties.setProperty("net.sf.jasperreports.default.font.name", "Sans Serif");
或者,您可以通过在.jrxml文件中输入以下行来设置此属性
<property name="net.sf.jasperreports.awt.ignore.missing.font" value="true"/>
<property name="net.sf.jasperreports.default.font.name" value="Sans Serif"/>
或者,您可以通过在.jrxml文件中输入以下行来设置此属性
<property name="net.sf.jasperreports.awt.ignore.missing.font" value="true"/>
<property name="net.sf.jasperreports.default.font.name" value="Sans Serif"/>
方法3:通过添加缺少的字体属性。
首先通过选择“工具>>选项>>字体>>安装字体”在IReport中安装缺少的字体,然后选择所有字体,并通过单击扩展名为.jar的“导出为扩展名”将其导出
您可以将这个jar用于Jasperreports-font.X.X.X.jar,它将出现在您的项目库或类路径中
JasperReports在报告模板中使用的字体不能作为系统字体或来自JR字体扩展的字体供JVM使用的情况下引发JRFontNotFoundException。这可以确保避免字体度量不匹配引起的所有问题,并且我们可以对不一致性发出早期警告
Jasper reports试图帮助您开发报告,指出它无法正确导出您的报告,因为它找不到TextField
或StaticText
中定义的字体
<font fontName="Arial"/>
来自JasperReport终极指南:
我们强烈鼓励人们只使用源于字体的字体
扩展名,因为这是确保字体
在执行报告时,应用程序将可用
运行时。使用系统字体总是会给报告带来风险
在部署到可能没有
那些字体已安装
有关如何在pdf中正确呈现字体的StackOverflow链接
分两步解决方案(如果您使用的是centOS)
[root@WEBSVR~/]# wget http://www.itzgeek.com/msttcore-fonts-2.0-3.noarch.rpm
[root@WEBSVR~/]# rpm -Uvh msttcore-fonts-2.0-3.noarch.rpm
[root@WEBSVR~/]# wget http://www.itzgeek.com/msttcore-fonts-2.0-3.noarch.rpm
[root@WEBSVR~/]# rpm -Uvh msttcore-fonts-2.0-3.noarch.rpm
查看Windows上生成的文档时遇到问题吗 您可以简单地尝试一个好的解决方案: yum-install-xorg-x11-font-utils-fontconfig rpm-i 在此之后,我需要重新启动我的系统CentOS6
来源:如果您在项目中使用maven,只需将jasper字体依赖项添加到pom.xml即可:
<dependency>
<groupId>net.sf.jasperreports</groupId>
<artifactId>jasperreports-fonts</artifactId>
<version>6.8.1</version>
</dependency>
net.sf.jasperreports
jasperreports字体
6.8.1
在上安装缺少的字体