使用iReport创建pdf时使用自定义字体

iReport版本:3.7.1


我通过两种方式解决了这个问题。


我的第一种方法


我正在其中创建一个pdf页面,iReport并且其中一个字段(来自数据库)设置为一种字体Gujarati-Salarl(一种印度区域语言的字体)。


该字体在的字体列表中可用iReport。当我点击预览时,我得到所需的输出,该字段具有所需的字体样式。


到这里一切都很好。


但是pdf生成的文件仍然包含与英文字符相同的原始字体。


无论我从应用程序还是从JAVA文件调用报告,结果都是相同的。


经过一番研究,我发现了第二种方法


JRProperties.setProperty("net.sf.jasperreports.default.pdf.font.name", "C:\\Gujrati-Saral-1.ttf");

这会将pdf的ttf字体设置为所提供的字体,但是现在整个字体pdf都采用了瓜拉提语-saral字体,这不是我想要的。


有没有一种方法可以仅将该字体仅应用于该特定字段?


要么


当采用第二种方法时,是否有一种方法不会将字体Guarati-saral应用于除必填字段之外的所有其他字段?


开满天机
浏览 891回答 3
3回答

潇潇雨雨

您应该使用该Font Extensions机制。创建字体并将其导出为jar文件后,应将生成的jar文件添加到应用程序类路径。a)在iReport中创建新字体(通过选项->字体->“安装字体”按钮)在iReport中创建新的字体描述符b)将新字体(或现有字体)导出为iReport中的jar文件(通过选项->字体->“导出为扩展名”按钮)a)在JasperReports Studio中创建新字体(通过窗口->首选项-> JasperStudio->字体->“添加”按钮)b)配置字体将字体导出为jar文件c)用您的字体创建JAR导出字体罐您可以Font Extensions 在此处找到有关使用的更多信息。

翻过高山走不出你

如果您在从IReport版本4.8.0的pdf中显示UTF-8字符时遇到问题,则无需执行任何操作!只需将表中单元格的字体从sanserif更改为Dejavu sans。而已。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java