如何在iTextSharp中设置不可编辑的pdf字段

时间:2011-01-06 13:42:31

标签: .net pdf itextsharp textfield

正如标题所说,我必须使用数据填充文本字段(功能完美),使字段不可编辑。

我尝试使用

实现这一目标

form.SetFieldProperty(key,key,TextField.READ_ONLY,Nothing)

但我不知道该放入什么作为最后一个参数,那条线实际上并没有为我做任何事情。我试图做的另一件事是

form.RemoveField(键)

但是删除了包含文字的字段,所以我有一个空白的pdf。

我一直在寻找一个解决方案现在已经有一段时间了,我找不到任何东西来帮助我,没有任何教程或文档。我真的很惊讶没有人要求之前的功能。真的是因为没有人需要这种功能吗?或者是因为使用iTextSharp这么容易或显然不可能?

(抱歉,对于doublepost,我刚刚意识到我的标题没有正确解决我的问题)

1 个答案:

答案 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。