- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
使用 ITextRenderer 从 HTML 生成泰卢固语 PDF 时无法获得准确的字符? pdf 中的字符损坏(预期字符 వినియోగించుకోకపోయినట్లయితే )。附上屏幕截图。 enter image description here
我们使用下面的代码生成带有字体的 UTF-8 pdf
1) body * { font-family: "Vani", Georgia, Serif;}
2)文档 doc = builder.parse(new ByteArrayInputStream(content.toString().getBytes("UTF-8")));
3)renderer.getFontResolver().addFont(contextPath+"fonts/VANI.TTF",BaseFont.IDENTITY_H,BaseFont.EMBEDDED);4) jars itext 4.2 和 core-render.jar
请帮助获取 PDF 中的异常输出。
最佳答案
您正在使用ITextRenderer
,这会让人相信您正在使用 Flying Saucer 。 Flying Saucer 不是 iText。Flying Saucer 是使用旧版本 iText 的第三方产品,并且未经 iText Group 认可。
旧版本的 iText 不支持泰卢固语。对德文加文、泰米尔语、泰卢固语等书写系统的支持需要 pdfCalligraph add-on 。该附加组件仅适用于 iText 7。我们已经编写了综合性的 white paper就这个主题而言。
如果您想将泰卢固语 HTML 转换为 PDF,则无法使用 Flying Saucer 实现此目的。据我所知,唯一允许您执行此操作的工具是 iText 7 的组合。 ,pdfCalligraph add-on Telugy 支持,以及 pdfHTML add-on将 HTML 转换为 PDF。
更新:
如果要使用pdfCalligraph,需要添加以下依赖:
<dependency>
<groupId>com.itextpdf</groupId>
<artifactId>typography</artifactId>
<version>[1.0,)</version>
<scope>compile</scope>
</dependency>
由于 pdfCalligraph 是一个闭源插件,您还需要将我们的闭源存储库添加到您的存储库列表中:
<repositories>
<repository>
<id>central</id>
<name>iText Repository-releases</name>
<url>https://repo.itextsupport.com/releases</url>
</repository>
</repositories>
最后,需要引入许可证 key 机制(否则pdfCalligraph将抛出com.itextpdf.licensekey.LicenseKeyException
或java.io.FileNotFoundException:itextkey.xml
):
<dependency>
<groupId>com.itextpdf</groupId>
<artifactId>itext-licensekey</artifactId>
<version>[2.0,)</version>
<scope>compile</scope>
</dependency>
您需要一个许可证 key (KEY
),并且需要像这样加载该 key :
LicenseKey.loadLicenseFile(new FileInputStream(KEY));
KEY
包含 XML 文件的路径。此 XML 文件是您的许可证 key 。您可以在此处获取这样的 XML 文件:free trial .
关于java - 使用 ITextRenderer 从 HTML 生成泰卢固语 PDF 无法获得准确的字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43863867/
我是一名优秀的程序员,十分优秀!