使用基于iTextSharp的模板创建PDF文档

问题描述 投票:3回答:1

我想使用iTextSharp创建基于PDF模板的多页PDF文档。不幸的是,模板只有一个页面,但我想在结果文档中将其乘以。

 public static void GeberateFromTamplate(string pathTamplate)
 {
     //string pathTamplate = Server.MapPath("PDFs");
     string pdfTemplate = pathTamplate + @"\newTemplate.pdf";
     string newFile = pathTamplate + @"\Filled-outForm.pdf";

     PdfReader pdfReader = new PdfReader(pdfTemplate);
     PdfStamper pdfStamper = new PdfStamper(pdfReader, new FileStream(
         newFile, FileMode.Create));

     AcroFields pdfFormFields = pdfStamper.AcroFields;
     // set form pdfFormFields                                
     // 
     pdfFormFields.SetField("f1_01(0)", "1");
     pdfFormFields.SetField("f1_02(0)", "1");
     pdfFormFields.SetField("f1_03(0)", "1");
     pdfFormFields.SetField("f1_04(0)", "8");
     pdfFormFields.SetField("f1_05(0)", "0");
     pdfFormFields.SetField("f1_06(0)", "1");
     pdfFormFields.SetField("f1_07(0)", "16");
     pdfFormFields.SetField("f1_08(0)", "28");
     pdfFormFields.SetField("f1_09(0)", "Franklin A.");
     pdfFormFields.SetField("f1_10(0)", "Benefield");
     pdfFormFields.SetField("f1_11(0)", "532");
     pdfFormFields.SetField("f1_12(0)", "12");
     pdfFormFields.SetField("f1_13(0)", "1234");

     // The form's checkboxes
     pdfFormFields.SetField("c1_01(0)", "0");
     pdfFormFields.SetField("c1_02(0)", "Yes");
     pdfFormFields.SetField("c1_03(0)", "0");
     pdfFormFields.SetField("c1_04(0)", "Yes");

     pdfStamper.FormFlattening = false;

     // close the pdf
     pdfStamper.Close();
 }
c# itextsharp
1个回答
0
投票

您可以尝试使用以下帖子构建页面:

itextsharp: how do i add a new page and write to it?

然后在您构建的每个页面上,您可以应用您的脚本。

© www.soinside.com 2019 - 2024. All rights reserved.