【发布时间】:2023-04-02 05:54:01
【问题描述】:
我想使用 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();
}
【问题讨论】:
-
您希望根据哪个标准将“它在结果文档中”相乘?另外,请说明您希望结果是多个文档文件还是具有基于同一模板的多个页面的单个 pdf 文件?
-
您好,ebad86。需要基于同一模板创建具有多个页面的单个 pdf 文件
-
您可以使用 PDFConcatenate 来组合基于模板的文档。看类似问题here
标签: c# itextsharp