我有一个PDF模板用作PDF报告的来源,标题中有一些字段。我必须为每个报告页面重复标题,但字段仅在第一页填写,我不知道如何在所有报告页面上填写它们。
这是一个简化的代码,为了便于阅读,我使用fieldKeys减少了开关,默认代码相同。
using (var pdfReader = new PdfReader(templatePath))
{
using (var pdfStamper = new PdfStamper(pdfReader, new FileStream(destinationPath.Replace(".pdf", "_1.pdf"), FileMode.OpenOrCreate)) { FormFlattening = true })
{
InsertTables(pdfStamper);
InsertLastPage(pdfStamper);
InsertFooter(pdfStamper);
var pdfFormFields = pdfStamper.AcroFields;
var fieldKeys = pdfFormFields.Fields.Keys;
foreach (var k in fieldKeys)
{
switch (k)
{
default:
pdfFormFields.SetField(k, Convert.ToString(Request.GetType().GetProperty(k).GetValue(this, null)));
break;
}
}
pdfStamper.Close();
}
}