我有一个PDF文档,包含3个字段
问题是,在第二次循环中写入姓氏时,名字和中间名消失了。
目标是多次向同一个PDF文档写入内容。
下载PDF模板:https://www.scribd.com/document/412586469/Testing-Doc
txt_FirstName
、txt_MiddleName
和txt_LastName
,我使用向其中写入内容。我有一个循环来创建输出文件、写入数据并关闭文件。循环第一次写入文件时,会写入名字和中间名。循环第二次时,将会写入名字、中间名和姓氏。问题是,在第二次循环中写入姓氏时,名字和中间名消失了。
目标是多次向同一个PDF文档写入内容。
下载PDF模板:https://www.scribd.com/document/412586469/Testing-Doc
public static string templatePath = "C:\\temp\\template.pdf";
public static string OutputPath = "C:\\Output\\";
private static void Fill_PDF()
{
string outputFile = "output.pdf";
int counter = 1;
for (int i = 0; i < 2; i++)
{
PdfStamper pdfStamper;
PdfReader reader;
reader = new PdfReader(File.ReadAllBytes(templatePath));
PdfReader.unethicalreading = true;
if (File.Exists(OutputPath + outputFile))
{
pdfStamper = new PdfStamper(reader, new FileStream(OutputPath + outputFile,
FileMode.Append, FileAccess.Write));
}
else
{
pdfStamper = new PdfStamper(reader, new FileStream(OutputPath + outputFile,
FileMode.Create));
}
AcroFields pdfFormFields = pdfStamper.AcroFields;
if (counter == 1)
{
pdfFormFields.SetField("txt_FirstName", "Scooby");
pdfFormFields.SetField("txt_MiddleName", "Dooby");
counter++;
}
else if (counter == 2)
{
pdfFormFields.SetField("txt_LastName", "Doo");
}
pdfStamper.Close();
}
}