GdPicture.NET虽然主要是一个图片处理控件,可是该产品还提供了很多附加模块,如条码、OCR、OMR、TWAIN、PDF等模块,开发人员可以根据自己的需求进行模块的添加,这篇文章主要讲述该产品的PDF模块,如何打开一个带表单的PDF文档,对里面的表单进行填充并对填写好的PDF文档进行保存,具体可以参考下面的事例:
GdPicturePDF oGdPicturePDF = new GdPicturePDF();
GdPictureStatus status = oGdPicturePDF.LoadFromFile("Form.pdf", false);
if (status != GdPictureStatus.OK)
{
MessageBox.Show("Error openning the PDF", "Error " + status.ToString());
return;
}
int FieldCount = oGdPicturePDF.GetFormFieldsCount();
for (int x = 0; x <= FieldCount - 1; x++)
{
int FormFieldId = oGdPicturePDF.GetFormFieldID(x); //get the field identifier
string FormFieldTitle = oGdPicturePDF.GetFormFieldTitle(FormFieldId); //get the field title
switch (FormFieldTitle) //use the field title to select the text to put in the formfield
{
case "Name":
oGdPicturePDF.SetFormFieldValue(FormFieldId, "Doe");
break;
case "Nickname":
oGdPicturePDF.SetFormFieldValue(FormFieldId, "John");
break;
case "COI":
oGdPicturePDF.SetFormFieldValue(FormFieldId, "Tennis" + Constants.vbCrLf + "Swimming" + Constants.vbCrLf + "Golf" +
Constants.vbCrLf + "SF books");
break;
}
}
status = oGdPicturePDF.FlattenFormFields();
if (status != GdPictureStatus.OK)
{
MessageBox.Show("Error flatenning the PDF", "Error : " + status.ToString());
return;
}
status = oGdPicturePDF.SaveToFile("Form_filled.pdf");
if (status != GdPictureStatus.OK)
{
MessageBox.Show("Error saving the PDF", "Error : " + status.ToString());
return;
}