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