我在windows中使用eclipse。
使用jar jasperreports-4.1.1.jar从jrxml文件生成pdf文件时出现此错误。我已经从我的Windows文件夹手动添加了我的jre中的字体文件,并添加了路径变量的字体路径,但仍然得到相同的错误。
net.sf.jasperreports.engine.JRRuntimeException: Could not load the following font :
pdfFontName : Arial
pdfEncoding : Cp1252
isPdfEmbedded : false
我观察到的另一个奇怪的事情是,当我为Cambria字体尝试相同的功能时,我得到了一个不同的错误。 以下是我使用cambria时的错误
net.sf.jasperreports.engine.util.JRFontNotFoundException: Font 'CAMBRIA' 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.util.JRStyledText.getAwtAttributedString(JRStyledText.java:226)
at net.sf.jasperreports.engine.export.AbstractTextRenderer.render(AbstractTextRenderer.java:263)
at net.sf.jasperreports.engine.export.JRPdfExporter.exportText(JRPdfExporter.java:2026)
at net.sf.jasperreports.engine.export.JRPdfExporter.exportElements(JRPdfExporter.java:729)
at net.sf.jasperreports.engine.export.JRPdfExporter.exportFrame(JRPdfExporter.java:2526)
at net.sf.jasperreports.engine.export.JRPdfExporter.exportElements(JRPdfExporter.java:733)
at net.sf.jasperreports.engine.export.JRPdfExporter.exportFrame(JRPdfExporter.java:2526)
at net.sf.jasperreports.engine.export.JRPdfExporter.exportElements(JRPdfExporter.java:733)
at net.sf.jasperreports.engine.export.JRPdfExporter.exportPage(JRPdfExporter.java:689)
at net.sf.jasperreports.engine.export.JRPdfExporter.exportReportToStream(JRPdfExporter.java:582)
at net.sf.jasperreports.engine.export.JRPdfExporter.exportReport(JRPdfExporter.java:376)
at net.sf.jasperreports.engine.JasperExportManager.exportReportToPdfFile(JasperExportManager.java:122)
at main.CopyOfTable.runReport(CopyOfTable.java:60)
at main.CopyOfTable.main(CopyOfTable.java:100)
答案 0 :(得分:5)
希望这会有所帮助:
将字体定义为"字体扩展名"。这包括创建两个 files:jasperreports_extension.properties和fonts.xml。看看它是如何完成的 您可以下载JasperReports包中的demo / fonts目录 来自http://community.jaspersoft.com/project/jasperreports-library/releases。
将字体和字体扩展名打包到类路径中可用的JAR文件中。
这适用于TrueType和OpenType字体。
此外:
请参阅Teodor的第一条评论here。
本网站上许多有用的答案之一是here。
祝你好运。答案 1 :(得分:0)
我仅在Windows 7操作系统中添加了缺少的字体即可解决此问题。我的报告未使用缺少的字体(Calibri Light),并且始终在其他环境中工作。
答案 2 :(得分:0)