在多页上的iTextSharp中设置相同的PDF表单字段

时间:2014-03-17 10:23:40

标签: c# .net pdf report itextsharp

我有一个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();
    }
}

0 个答案:

没有答案
相关问题