我的要求是将数据写入客户端提供的PDF文件中。 此PDF文本框,单选按钮和复选框很少。
我可以使用C#用itextsharp(5.5.5.0)在给定的PDF文件中写入数据,但我在这里遇到了三个挑战
单选按钮 - 我可以选择一个单选按钮但不知何故它选择为" X",我该如何解决?
以PDF格式写入数据后,PDF变为只读,我无法更改数据。在通过C#填充PDF格式的数据后,如何将PDF的状态保持为可写状态?
根据单选按钮的选择,PDF应该显示不同的文本框,我的意思是如果我选择RadioButton 1到C#那么PDF应该显示TextBox1,如果我选择RadioButton 2到C#,PDF应该显示TextBox2,我该怎么办实现这个目标?
我正在使用此代码以PDF格式编写并选择RadioButton
string pdfTemplate = @"C:\Users\Desktop\vstryout\Form_SH-7 - Copy.pdf";
string newFile = @"C:\Users\Desktop\vstryout\Form_SH-7 - Copy-1.pdf";
PdfReader pdfReader = new PdfReader(pdfTemplate);
PdfStamper pdfStamper = new PdfStamper(pdfReader, new FileStream(newFile, FileMode.Create, FileAccess.ReadWrite), '\0', false);
AcroFields formFields = pdfStamper.AcroFields;
foreach (var de in formFields.Fields)
{
if (de.Key == "Form5_Dtls[0].Page1[0].Heading[0].CompName_C[0]")
{
formFields.SetField("Form5_Dtls[0].Page1[0].Heading[0].CompName_C[0]", "Company Name");
}
if (de.Key.ToString() == "Form5_Dtls[0].Page1[0].Heading[0].CompanyAdd_C[0]")
{
formFields.SetField("Form5_Dtls[0].Page1[0].Heading[0].CompanyAdd_C[0]", "Company Address");
}
if (de.Key.ToString() == "Form5_Dtls[0].Page1[0].SRN[0].SRN_C[0]")
{
formFields.SetField("Form5_Dtls[0].Page1[0].SRN[0].SRN_C[0]", "SRN");
}
if (de.Key.ToString() == "Form5_Dtls[0].Page1[0].Resolution[0].DateOfMeeting_D[0]")
{
formFields.SetField("Form5_Dtls[0].Page1[0].Resolution[0].DateOfMeeting_D[0]", "16/12/2010");
}
if (de.Key.ToString() == "Form5_Dtls[0].Page1[0].Resolution[0].OrdinarySpecial_R[0]")
{
formFields.SetField("Form5_Dtls[0].Page1[0].Resolution[0].OrdinarySpecial_R[0]", "Yes");
}
if (de.Key.ToString() == "Form5_Dtls[0].Page1[0].Heading[0].PurposeofForm[0]")
{
if (formFields.GetFieldType("Form5_Dtls[0].Page1[0].Heading[0].PurposeofForm[0]").ToString() == "3")
{
string[] str = formFields.GetAppearanceStates("Form5_Dtls[0].Page1[0].Heading[0].PurposeofForm[0]");
formFields.SetField("Form5_Dtls[0].Page1[0].Heading[0].PurposeofForm[0]", str[2]);
}
}
}
pdfStamper.FormFlattening = true;
pdfStamper.Close();
pdfReader.Close();
仅供参考...我不需要在PDF中创建任何字段,PDF文件中已存在字段,我只需要将数据放在这些字段中。
此致