我正在尝试在jasper文件中使用2种自定义字体来生成PDF。我在Jasper Studio MyVerdana中添加了Verdana ttf,并在MyBellMT中引用了My Bell MT ttf。两种字体都选中了“在PDF文档中包括此字体”选项。 我已经通过Jasper Studio将这两种字体导出到jar中,然后将它们复制到应用程序的web-inf / lib中。我已经修改了jrxml,将所有部分都引用了我的字体,并重新编译以获取新的.jasper文件。
在运行时尝试编译jasper时,我获得以下异常:
java.lang.ExceptionInInitializerError]与根本原因 net.sf.jasperreports.engine.JRException:在以下位置找不到输入流: 字体/MyVerdana/verdana.ttf
在net.sf.jasperreports.repo.RepositoryUtil.getInputStreamFromLocation(RepositoryUtil.java:278) 在 net.sf.jasperreports.engine.fonts.SimpleFontFace。(SimpleFontFace.java:91) 在 net.sf.jasperreports.engine.fonts.SimpleFontFace。(SimpleFontFace.java:128)........
所以基本上看来不能读取ttf字体文件。应用服务器是Java 1.7上的Tomcat 7.0.88。 我试图将自定义字体jar从web-inf / lib移到tomcat / lib,但是我遇到了同样的错误。似乎无法将自定义字体jar的嵌套文件夹(fonts / MyVerdana / *。ttf和MyBellMT的嵌套文件夹)加载到classhpath中。
网络应用中的Jasper版本是5.1.0。