gpt4 book ai didi

c# - 使用模板和字段将新页面添加到 iTextSharp 的 PdfStamper

转载 作者:太空宇宙 更新时间:2023-11-03 15:58:23 35 4
gpt4 key购买 nike

我正在尝试将新页面添加到 PdfStamper,但此代码不会将模板 pdf 字段添加到压模。

private void InsertNewPage(PdfStamper stamper, int pageNumber)
{
var pdfReader = new PdfReader(UrlTemplateBlankPage);

pdfReader.SelectPages("1");

stamper.InsertPage(pageNumber, pdfReader.GetPageSize(1));

stamper.GetOverContent(pageNumber).AddTemplate(stamper.GetImportedPage(pdfReader, 1), 0, 0);

//This code doesn't work because the code before is not adding the form
var pdfFormFields = stamper.AcroFields;

var fieldKeys = pdfReader.AcroFields.Fields.Keys;

foreach (var k in fieldKeys.ToList())
{
pdfFormFields.RenameField(k, k + string.Format("_{0:000}", pageNumber));
}
}

我在网上搜索过,但找不到关于我的问题的答案。我添加的 PDF 模板中有一些字段是用 Acrobat 添加的。我无法附上模板,但我可以为您提供所有信息。

最佳答案

我看不出你是如何实例化压模的。这是一个关于如何读取 PDF 模板并将其分配给压模的示例:

var reader = new PdfReader(TEMPLATE_PATH);
var pdfOutput = new FileStream(PDF_OUTPUT_PATH, FileMode.Create)

var stamper = new PdfStamper(reader, pdfOutput);

之后,您可以使用 SetField 函数设置字段:

stamper.AcroFields.SetField("FIELD1", "VALUE")

可以使用以下选项使可填写的 PDF 不可编辑:

stamper.FormFlattening = true;

否则,您的 PDF 仍可填写。

处理完文件后,关闭它们:

stamper.Close();
reader.Close();

在下一个链接中有一个关于如何使用 iTextSharp 的 PdfStamper 的示例:http://www.codeproject.com/Tips/679606/Filling-PDF-Form-using-iText-PDF-Library

关于c# - 使用模板和字段将新页面添加到 iTextSharp 的 PdfStamper,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22484617/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com