我正在尝试执行以下代码来隐藏字段
fields.SetFieldProperty("numberOfPages","setfflags", PdfAnnotation.FLAGS_INVISIBLE, null );
or
fields.SetFieldProperty("slash", "setfflags", PdfAnnotation.FLAGS_HIDDEN, null);
我从行动书中的Itext获得了代码。我正在使用Itextsharp 4.1.6但是没有结果,没有抛出错误。我错了什么? btw“setfflags”来自书中。
答案 0 :(得分:4)
我知道这个问题是2年前被问到的,但我无法在网上找到答案,希望这会有助于找到这篇文章的其他人。以下是我在iTextSharp 4.1.6中所做的工作
PdfReader reader = new PdfReader(Server.MapPath("[PATH_TO_PDF.pdf]"));
using (MemoryStream ms = new MemoryStream())
{
PdfStamper stamper = new PdfStamper(reader, ms);
AcroFields fields = stamper.AcroFields;
fields.SetFieldProperty("[FIELD_NAME]", "flags", PdfFormField.FLAGS_HIDDEN, null);
stamper.FormFlattening = true;
stamper.Close();
}
我通过这里查看iTextSharp来源找到了答案: https://github.com/itextsharper/iTextSharp-4.1.6/blob/master/iTextSharp/text/pdf/AcroFields.cs#L1037
如果查看方法注释,它会显示有效的属性名称及其作用。
答案 1 :(得分:0)
您将字段属性("setfflags"
)与注释属性("setflags"
)混淆。请阅读documentation,因为this reason,请不要使用iTextSharp 4.1.6。