【发布时间】:2013-08-22 09:32:37
【问题描述】:
我想为使用 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 字体。这里有什么问题?字体是嵌入到文件中的,为什么会画错字呢?
【问题讨论】:
-
请提供一个示例 PDF 来说明问题。此外,您在哪个程序中单击该字段以见证它变为一组奇怪的字符? Adobe阅读器?哪个版本?
-
如何提供PDF文件?我在这里看不到任何“附加文件”选项。它是 Adobe Reader 11.0.3。
-
StackOverflow 不提供通用文件上传机制。通常此类文件由其他文件共享媒体提供(最好是没有广告或需要登录的文件),例如通过 DropBox 或 Google,问题或评论中包含一个链接。
标签: itext