【问题标题】:How to get custom fonts working with jasperserver如何让自定义字体与 jasperserver 一起使用
【发布时间】:2016-05-05 03:36:40
【问题描述】:
在 Jaspersoft Studio Professional(免费版)和 jasperserver 社区版(免费)中使用自定义字体时,它必须以三种方式工作:
- 在 jaspersoft studio Professional 中,这样我们就可以看到它在设计时的样子
- 当在 jasperserver 中作为 HTML 报告运行时,它必须在未安装自定义字体的计算机上的浏览器上运行
- 通过在 PDF 中嵌入字体将报告导出为 PDF 时
在 stackoverflow 和许多其他地方搜索问题和答案后,我可以找到如何让这三个案例中的一些工作,但不是同时工作。我正在使用 jasperserver 6。
【问题讨论】:
标签:
fonts
jasper-reports
jasperserver
export-to-pdf
【解决方案1】:
以下是使其在 jaspersoft studio 中和导出 PDF 时工作的步骤。如果字体安装在浏览器的计算机上,它仍然只在 HTML 报告上看起来正确。
- 将字体安装到 jaspersoft studio
- 首选项 -> Jaspersoft Studio -> 字体
- 添加
- Family Name 应该是字体的正确名称
- 使用浏览选择 TrueType 字体文件(或其他类型)
- 根据需要添加粗体、斜体等
- 将 PDF 字体名称留空,除非您希望 PDF 中的字体不同
- PDF 编码 CP1252(西方)
- 选中在 PDF 文档中嵌入此字体 - 这将使它在 PDF 中工作
- 下一步 >
- 为每种类型添加映射:html、xhtml、rtf。这将使它在浏览器中工作
- 完成
- 好的
现在您应该能够在设计器中选择字体并使其正常工作,即使该字体尚未直接安装到您的计算机操作系统中。
- 导出字体
- 首选项 -> Jaspersoft Studio -> 字体
- 选择字体并点击导出
- 命名将要创建的 jar 文件
-
将字体导入jasperserver
- 将jar文件上传到服务器到一个空目录中
- 使用 unzip 解压 jar
编辑 fontsfamilynnnnn.xml 文件以确保 <exportFonts> 部分正确:
<exportFonts>
<export key="net.sf.jasperreports.html">Open Sans</export>
<export key="net.sf.jasperreports.xhtml">Open Sans</export>
<export key="net.sf.jasperreports.rtf">Open Sans</export>
</exportFonts>
将文件 jasperreports_extension.properties 合并到 /usr/local/tomcat/webapps/jasperserver/WEB-INF/classes/fonts/ 中存在的同一文件中
- 将其余文件(一个目录和一个 XML 文件)复制到 /usr/local/tomcat/webapps/jasperserver/WEB-INF/classes/fonts/ 目录
重启 jasperserver
以下是最相关的信息来源:http://community.jaspersoft.com/wiki/custom-font-font-extension
https://mdahlman.wordpress.com/2010/04/16/fonts-in-jasperserver-3-7/