7

我有一些自定义的中文字体文件:

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.CP1252or的编码BaseFont.WINANSI,但它们不起作用,??????如果它们是汉字,输出是空白页或很多字符。

4

1 回答 1

10

这个问题有不同的答案。要获得完整的概述,您可以阅读我的书“iText in Action”的第 11 章,但如果您只是想安全起见,请使用 Identity-H 来处理水平文本(和 Identity-V)。这不是真正的编码,但它会在使用 Unicode 的 PDF 中创建复合字体:http: //api.itextpdf.com/itext/com/itextpdf/text/pdf/BaseFont.html#IDENTITY_H

于 2012-10-17T09:32:46.197 回答