- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想在 jasper 报告 5.1 版的 PDF 导出报告中显示不同的字体(古吉拉特语-印度语)。
我尝试过的:运行工具打开后位置如下第 1 步:
工具 -> 选项 -> 字体
net.sf.jasperreports.default.font.name=Arial Unicode MS - the default font name.
net.sf.jasperreports.default.font.size=10 - the default font size.
net.sf.jasperreports.default.pdf.font.name=Identity-H - the default PDF font.
net.sf.jasperreports.default.pdf.encoding=UTF-8 - the default PDF character encoding.
net.sf.jasperreports.default.pdf.embedded=true - by default PDF fonts are not embedded
安装了字体“Arial Unicode MS”并创建了它的 jar 文件。Jar 文件存在于 jasper 报告的类路径中。
已关注链接 :1) Fonts2) Sample fonts
第二步:irfonts.xml
默认情况下,jasper 报告会在我将其更改为的文件中提供其他字体。
<fontFamily name="Arial Unicode MS">
<normal>net/sf/jasperreports/fonts/dejavu/ArialUnicodeMS.ttf</normal>
<pdfEncoding>Identity-H</pdfEncoding>
<pdfEmbedded>true</pdfEmbedded>
第 3 步:
我得到的结果是:હીપ્સ我真正想要的是:હિપ્સ
花了一些时间后,我开始知道当您在 Jasper 报告模板中呈现页面时,字体按需要工作,但是当您将其导出为 pdf 时,它会发生变化,原因是所有字体都通过“itext pdf 引擎”。
现在,技巧是 itext 没有我当前使用的字体。
有什么方法可以实现这一目标。
注意事项:它不是使用 Java 创建的。我是一名 Oracle 数据库开发人员,因此仅使用工具创建并在工具范围内打印。
也关注了这个博客,但它是用 java 编写的,所以不知道在哪里进行更改。 Blog of java
示例代码:
<textField>
<reportElement x="111" y="26" width="100" height="20" uuid="5a471a16-de7b-4f55-9c9f-b01d37938b9f"/>
<textElement>
<font fontName="Arial Unicode MS" pdfEncoding="Identity-H" isPdfEmbedded="true"/>
</textElement>
<textFieldExpression><![CDATA[$F{my_column_values}]]></textFieldExpression>
stack overflow也有一些类似的题,但是都是用java调用打印的。
那么,我可以更改 itext 库吗?或者任何其他解决方法都可以。我是如何创建的:
2) Jasper
最佳答案
尝试 JasperReports 6.2.0 或更新版本。它带有对印度文字的 PDF 支持(通过将 AWT 文本布局传输到 PDF 来实现)。
JasperReports 发行版中的 Unicode 报告示例(在 demo/samples/unicode 下)显示了多种印度文字的文本,包括古吉拉特语(使用 Google Noto 字体)。
关于fonts - 如何将古吉拉特语-印度语字体导出为 pdf?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36600311/
我是一名优秀的程序员,十分优秀!