Java 使用iReport创建pdf时使用自定义字体
iReport版本:3.7.1 我用两种方法处理这个问题 我的第一种方法 我正在Java 使用iReport创建pdf时使用自定义字体,java,pdf,jasper-reports,itext,ireport,Java,Pdf,Jasper Reports,Itext,Ireport,iReport版本:3.7.1 我用两种方法处理这个问题 我的第一种方法 我正在iReport中创建一个pdf页面,我将其中一个字段(来自数据库)设置为字体古吉拉特邦萨拉尔语(印度地区语言的字体) 此字体可在i报告的字体列表中找到。 当我点击preview时,我会得到所需的输出,字段的字体样式为所需 到这里一切都好 但是生成的pdf文件仍然包含相同的英文字符原始字体 无论是从应用程序还是从JAVA文件调用报告,结果都是一样的 经过一点研究,我发现这是第二种方法 这将pdf的字体设置为提供的ttf
iReport
中创建一个pdf
页面,我将其中一个字段(来自数据库)设置为字体古吉拉特邦萨拉尔语(印度地区语言的字体)
此字体可在i报告
的字体列表中找到。
当我点击preview时,我会得到所需的输出,字段的字体样式为所需
到这里一切都好
但是生成的pdf
文件仍然包含相同的英文字符原始字体
无论是从应用程序还是从JAVA
文件调用报告,结果都是一样的
经过一点研究,我发现这是第二种方法
这将pdf
的字体设置为提供的ttf
字体,但现在整个pdf
都采用了Guarati saral字体,这不是我要找的
是否有一种方法专门将此字体应用于某个特定字段
或
当使用第二种方法时,是否有办法不将字体Guarati saral应用于除所需字段之外的所有其他字段?您应该使用
字体扩展机制
创建字体并将其导出为jar文件后,应将生成的jar文件添加到应用程序类路径中
a) 在iReport中创建新字体(通过选项->字体->安装字体按钮)
b) 在iReport中将新字体(或现有字体)导出为jar文件(通过选项->字体->导出为扩展名”按钮)
a) 在JasperReports Studio中创建新字体(通过窗口->首选项->JasperStudio->字体->添加”按钮)
b) 配置字体
c) 创建包含字体的JAR
如果在pdf中显示UTF-8字符时遇到问题,您可以找到有关使用字体扩展名的详细信息,
从IReport的4.8.0版开始,无需执行任何操作!
只需将表中单元格的字体从sanserif更改为Dejavu sans即可。
就是这样。选择字段,转到“字段属性”并更改
选择DejaVu SAN作为字体名称
选择Pdf编码至CP1256(阿拉伯语)
选择要使用的pdf字体名称
通过这些更改,我得到了以PDF格式显示的阿拉伯语数据。对于那些需要在Jasper Reports中使用俄语的人(至少在旧版本的opennms中),以下组合在不使用字体扩展名的情况下实现了这一目的:
字体名称:SanSerif
PDF字体:信使
PDF编码:CP1251
PDF Embedded:是(不确定,即使没有也可能有效)
Alexey Bakhmutov您是否使用了字体扩展名
?@Alex K我不知道如何使用它们。。。所以我想我没有用过。那会有帮助吗?你可以阅读这篇文章:@Alex我从工具>选项>ireport添加了字体。pdf以所需的字体输出,但是当我从JAVA类调用相同的字体时,我没有显示字体。它打印原始字体。。这是什么原因呢?是不是(带有你字体的jar文件)在类路径中?我把混合链接的编辑搞砸了。你能修好它吗?它试图通过为jaspersoft Studiot提供屏幕截图来实现更现代化。最初的问题是关于使用iReport:)。我在Jaspersoft StuidoMac版本中使用了字体,但没有此选项->字体选项。我该怎么办?看起来像只虫子。对不起,我没有Mac要检查。您是否尝试使用JSS(Jaspersoft Studio)?
JRProperties.setProperty("net.sf.jasperreports.default.pdf.font.name", "C:\\Gujrati-Saral-1.ttf");