在控制台中打印西班牙语文本并使用 Itext 7 将其写入 PDF 时出现问题
Issue while Printing Spanish Text in Console and writing the same into PDF using Itext 7
我从数据库中收到以下文本
"----- Some Text ------ Bônus -------- Some Text ------- "
我将它存储在一个 String 变量中并在控制台中打印该变量并将其写入 PDF,但问题是我在控制台和 PDF 中都没有以正确的格式获取文本,而是我得到 Bônus 作为 'Bônus' ,我参考了这个例子
http://itext.2136553.n4.nabble.com/Problem-with-spanish-character-td2163635.html
并将 gradle 文件中的编译器编码更改为,
compileJava.options.encoding = 'UTF-8'
但是问题还是没有解决
我给出的示例文本只是一个示例,还有许多其他单词会被更改或显示一个空框。
我需要从 IText 的角度来研究它吗?或编译器?
尽管更改编译器的 Unicode 没有帮助
检查您是否有 unicode 字体。这可能会导致您的情况出现问题。有设置字体的代码
BaseFont basefont = BaseFont.createFont("font_name.ttf", BaseFont.IDENTITY_H, BaseFont.EMBEDDED);
然后就这样使用它:
Paragraph p = new Paragraph("text in unicode", new Font(basefont, 22));
经过一番搜索,我终于找到了 UTF 8 格式的文件
byte[] ptext = originalString.getBytes(ISO_8859_1);
String value = new String(ptext, UTF_8);
请找到我提到的link,
Encode String to UTF-8
我从数据库中收到以下文本
"----- Some Text ------ Bônus -------- Some Text ------- "
我将它存储在一个 String 变量中并在控制台中打印该变量并将其写入 PDF,但问题是我在控制台和 PDF 中都没有以正确的格式获取文本,而是我得到 Bônus 作为 'Bônus' ,我参考了这个例子 http://itext.2136553.n4.nabble.com/Problem-with-spanish-character-td2163635.html
并将 gradle 文件中的编译器编码更改为,
compileJava.options.encoding = 'UTF-8'
但是问题还是没有解决
我给出的示例文本只是一个示例,还有许多其他单词会被更改或显示一个空框。
我需要从 IText 的角度来研究它吗?或编译器?
尽管更改编译器的 Unicode 没有帮助
检查您是否有 unicode 字体。这可能会导致您的情况出现问题。有设置字体的代码
BaseFont basefont = BaseFont.createFont("font_name.ttf", BaseFont.IDENTITY_H, BaseFont.EMBEDDED);
然后就这样使用它:
Paragraph p = new Paragraph("text in unicode", new Font(basefont, 22));
经过一番搜索,我终于找到了 UTF 8 格式的文件
byte[] ptext = originalString.getBytes(ISO_8859_1);
String value = new String(ptext, UTF_8);
请找到我提到的link,
Encode String to UTF-8