使用 iTextSharp 为 pdf 文件添加水印时,中文字符显示为问号。
我尝试使用基本字体 HELVETICA 并尝试了 CP1252 之类的选项。我还尝试给出 Windows 字体中存在的字体名称,也支持中文。但是每次在最终的pdf文件中显示问号而不是中文字符。
使用 iTextSharp 为 pdf 文件添加水印时,中文字符显示为问号。
我尝试使用基本字体 HELVETICA 并尝试了 CP1252 之类的选项。我还尝试给出 Windows 字体中存在的字体名称,也支持中文。但是每次在最终的pdf文件中显示问号而不是中文字符。
Helvetica 仅包含有限数量的拉丁字形。如iText 文档中所述,您不能使用该字体来创建中文字符。你需要一个字体文件,例如arialuni.ttf
并用它来创建一个BaseFont
对象。然后使用该BaseFont
对象在绝对位置添加字符串或创建Font
用于高级对象的对象。
这里有些例子:
所有这些例子都取自我关于 iText的书的第 11 章。如果您浏览此文档,您会发现一些 PDF 示例,例如font_selection.pdf、text4.pdf等...