我想为使用 PdfStamper 类添加的 TextField 设置字体。我的代码如下:
final TextField textField = new TextField(
stamper.getWriter(),
new Rectangle(llx, lly, urx, ury),
"Name"
);
textField.setOptions(TextField.READ_ONLY);
textField.setAlignment(Element.ALIGN_RIGHT);
final BaseFont bf = BaseFont.createFont(
"c:/windows/fonts/comic.ttf",
BaseFont.IDENTITY_H,
BaseFont.EMBEDDED
);
bf.setSubset(false);
textField.setFont(bf);
textField.setFontSize(12);
textField.setText("Žížalka");
stamper.addAnnotation(textField.getTextField(), 1);
我将 bf.setSubset 设置为 false,因为我希望以后能够使用 javascript 更改字段值。
好吧,生成了 PDF 文件,并且该字段按预期包含具有 Comic Sans MS 字体的单词,但是当我单击该字段时,它变为一组奇怪的字符,尽管它仍然是 Comic Sans MS 字体。这里有什么问题?字体嵌入到文件中,为什么它会错误地绘制单词?