我正在填写使用Acrobat pro和iTextSharp&C#创建的pdf表单,并且在尝试勾选复选框字段时发现自己卡住了.
我有它的单选按钮和文本框,但似乎无法使复选框工作.我还确认了这个案例中的复选框名称"Q7b"在acrobat文档中是正确的,可以使用下面的代码在表单上找到它
private string getfieldnames(AcroFields fields)
{
StringBuilder sb = new StringBuilder();
foreach (string key in fields.Fields.Keys)
{
sb.Append(key + Environment.NewLine);
}
return sb.ToString();
}
Run Code Online (Sandbox Code Playgroud)
我用来更新复选框的代码如下
using (MemoryStream pdfFlat = new MemoryStream())
{
PdfReader pdfReader = new PdfReader(strPath);
PdfStamper pdfStamp = new PdfStamper(pdfReader, pdfFlat);
AcroFields fields = pdfStamp.AcroFields;
//textfields
fields.SetField("Initiating_Doctor", "Doctor A");
fields.SetField("Speciality", "Surgeon");
//Radiobuttons
fields.SetField("PRELIM_Q1", "Yes");
fields.SetField("PRELIM_Q2", "No");
fields.SetField("PRELIM_Q3", "No");
fields.SetField("PRELIM_Q4", "No");
//checkbox - Set the checkbox to checked but this does not work.
fields.SetField("Q7b", "Yes");
pdfReader.Close();
pdfStamp.FormFlattening …Run Code Online (Sandbox Code Playgroud)