java - 生成的 PDF 报告中缺少几个土耳其字母

标签 java html oracle pdf itext

目前,我正在开发一个 java 桌面程序,该程序将生成土耳其语字母。我打算生成一封包含原始土耳其字母的 PDF 信件,但不知怎的,我保留了几个丢失的(不是全部)土耳其字母。我缺少的一个示例字母是 ı(土耳其语缩写 i(?))。

当我的代码生成土耳其语字母时 - 它会删除那些无法识别的土耳其语字母。更改编码后,我能够将这些无法识别的字母更改为我的 .pdf 字母中的 f.e 0 或 1。我想我陷入了困境......

正如之前所说 - 我确实尝试更改编码。尽管如此 - 在调试期间我可以看到这些字母的原始外观(在调试控制台内)。这让我更加困惑。

信件模板放置在 OracleDb 中,并且以完美状态下载。

使用的PDF库是itext

最佳答案

这可能是编码问题,或者,如果您所说的编码正确,则可能是字体问题。

并非所有字体的每个字符都有字形,因此,如果您使用不支持所述字符的字体,则该字体将无法工作。

检查您的字体是否支持您的字符 (例如 Google webfonts that support UTF-8 (Turkish) characters? )并使用一个可以的。

可以在此处找到类似的 C# 问题 itextSharp - html to pdf some turkish characters are missing .

关于java - 生成的 PDF 报告中缺少几个土耳其字母,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60058919/

相关文章:

sql - 显示最后一天每小时创建的行数,未创建行时计数为 0

database - Oracle DB 监听器是否仅绑定(bind)到私有(private) ip 地址?

java - 我如何从 Java 中的 URL 中读取图像?

java - 当在 FileWriter 中追加 "true"时,项目从列表中删除

javascript - 日程应用程序上的无限时间轴

javascript - 我可以覆盖 <div> 吗?

javascript - 检查 html Canvas 上特定区域的点位置

linux - 登录到 sqlplus 为什么它总是打印用户名?

java - ArrayList<String> 始终生成 char[],而不是字符串。我该如何解决?

java字符串unicode代码点转换为字符