正如标题所说,我必须使用数据填充文本字段(功能完美),使字段不可编辑。
我尝试使用
实现这一目标form.SetFieldProperty(key,key,TextField.READ_ONLY,Nothing)
但我不知道该放入什么作为最后一个参数,那条线实际上并没有为我做任何事情。我试图做的另一件事是
form.RemoveField(键)
但是删除了包含文字的字段,所以我有一个空白的pdf。
我一直在寻找一个解决方案现在已经有一段时间了,我找不到任何东西来帮助我,没有任何教程或文档。我真的很惊讶没有人要求之前的功能。真的是因为没有人需要这种功能吗?或者是因为使用iTextSharp这么容易或显然不可能?
(抱歉,对于doublepost,我刚刚意识到我的标题没有正确解决我的问题)
答案 0 :(得分:0)
绝大多数情况下,最后一个参数应该为空。
http://api.itextpdf.com/com/itextpdf/text/pdf/AcroFields.html#setFieldProperty(java.lang.String中,%20java.lang.String,%20int,%20int [])
StackOverflow在其链接中不喜欢()或[]。烦。
它不是key, key
,而是
form.SetFieldProperty(fldName, "setfflags", PdfFormField.FF_READ_ONLY, null);
PdfAnnotation中还定义了许多注释标记,需要这样设置:
form.SetFieldProperty(fldName, "setflags", PdfAnnotation.FLAG_*, null);
请注意,有PdfAnnotation.FLAG_READONLY和PdfFormField.FF_READ_ONLY。我只设置了FF_READ_ONLY,但设置另一个也不会有害......或者可以!?
检查JavaDoc。 iThere中有相当多的iText Info。