我尝试使用iText 7社区来检查它是否支持填写希伯来语中的PDF表单字段。出于某种原因,我无法使其发挥作用。
以下是我正在使用的代码:
PdfAcroForm form = PdfAcroForm.getAcroForm(pdfDoc, false);
form.setGenerateAppearance(true);
form.getField("test").setValue("\u05de\u05d9\u05db\u05d0\u05dc");
form.flattenFields();
pdfDoc.close();
PDF是一个空白的PDF页面,仅包含一个具有以下属性的文本字段:
我尝试使用和不使用扁平化字段。
当字段未展平时,在使用Acrobat Reader打开生成的PDF后,我会看到我的字段但它是空的。只有在我单击该字段后,该字段的内容才会正确显示。当我在Chrome上查看PDF时,该字段不会出现(或者它可能在那里,但里面没有文字)。
当字段展平后,使用Acrobat Reader打开生成的PDF后,该字段根本不显示。
我确切地说我使用Acrobat DC创建了PDF。
知道这里发生了什么吗?
编辑:可以从here
下载测试PDF答案 0 :(得分:0)
尝试创建一种字体(并非所有字体都支持IDENTITY_H,但是Arial可以)。在Windows上看起来像这样:
PdfFont f = PdfFontFactory.createFont("C:\\windows\\fonts\\arial.ttf", PdfEncodings.IDENTITY_H, true);
然后将字体设置为字段:
form.getField("test").setValue("\u05de\u05d9\u05db\u05d0\u05dc").setFont(f);
这对我有用