- Code: Select all
public MemoryStream UpdatePdf(string filePath, IList<Field> fields)
{
var doc = new PdfDocument();
doc.LoadFromFile(filePath);
var mem = new MemoryStream();
//var formWidget = (PdfFormWidget) doc.Form;
var formWidget = doc.Form as PdfFormWidget;
foreach (var pdfField in formWidget.FieldsWidget.List)
{
if (pdfField is PdfTextBoxFieldWidget)
{
var textBoxField = pdfField as PdfTextBoxFieldWidget;
foreach (var field in fields)
{
if (textBoxField.Name == field.FieldName) textBoxField.Text = field.FieldValue;
}
}
if (pdfField is PdfComboBoxWidgetFieldWidget)
{
foreach (var field in fields.Where(w => w.DropDown))
{
var comboBoxField = pdfField as PdfComboBoxWidgetFieldWidget;
if (comboBoxField.Name == field.FieldName)
{
foreach (var dropItem in field.DropDownList)
{
comboBoxField.Values.Add(new PdfListWidgetItem(dropItem,dropItem));
int[] items = {0};
comboBoxField.SelectedIndex = items;
}
}
}
}
}
doc.SaveToStream(mem);
return mem;
}
}
}
The line of code below produces an Object refernce error. Can you please tell me what I've done wrong. Thanks
comboBoxField.Values.Add(new PdfListWidgetItem(dropItem,dropItem));