我有一些自定义的中文字体文件:
aaa.ttf
bbb.ttf
ccc.ttf
我想用它们通过 iText 创建我的 pdf 文件。
这是我用来创建BaseFont
的代码:
String encoding = ???
BaseFont messageBaseFont = BaseFont.createFont("fonts/aaa.ttf",
encoding,
BaseFont.EMBEDDED);
但我不知道如何找到编码
。以aaa.ttf
为例:
我可以从信息中找到编码
吗?我尝试了一些编码,例如 BaseFont.CP1252
或 BaseFont.WINANSI
,但它们不起作用,输出是空白页或很多 ??? ??
字符(如果是汉字)。
最佳答案
这个问题有不同的答案。要获得完整的概述,您可以阅读我的书“iText in Action”的第 11 章,但如果您只是想安全,请对水平文本使用 Identity-H(以及 Identity-V)。这并不是真正的编码,但它将在 PDF 中创建使用 Unicode 的复合字体:http://api.itextpdf.com/itext/com/itextpdf/text/pdf/BaseFont.html#IDENTITY_H
关于pdf - 当我使用 itext 调用 BaseFont.createFont() 时,如何知道正确的编码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12930035/