为了账号安全,请及时绑定邮箱和手机立即绑定

将页面从pdf文件复制到新文档

将页面从pdf文件复制到新文档

C#
慕无忌1623718 2021-03-30 17:18:38
我正在尝试从现有.pdf文件复制一页并将其粘贴到新文档中,如下所示:     using (var writer = new PdfWriter(OutputFile))        {          var reader = new PdfReader("Templates//PDF_Template_Empty.pdf");          PdfDocument template = new PdfDocument(reader);          var titlepage = template.GetPage(1);          using (var pdf = new PdfDocument(writer))            {                pdf.AddPage(titlepage); // exception但是.AddPage()它抛出了这个异常:iText.Kernel.PdfException:“页面iText.Kernel.Pdf.PdfPage无法添加到文档iText.Kernel.Pdf.PdfDocument,因为它属于文档iText.Kernel.Pdf.PdfDocument。”我怎样才能解决这个问题 ?
查看完整描述

1 回答

?
千巷猫影

TA贡献1829条经验 获得超7个赞

PDF页面对象通常具有许多相关对象。如果仅将页面本身添加到新文档中,而不是将相关对象添加到新文档中,则结果页面将是不完整的。


因此,iText 7会检查AddPage相关页面是否已在目标文档中创建,在后一种情况下,将抛出异常以防止丢失相关对象。


要跨文档复制页面,有一种PdfDocument方法CopyPagesTo有很多重载。对你来说


PdfDocument template = new PdfDocument(reader);

using (var pdf = new PdfDocument(writer))

{

    // copy template pages 1..1 to pdf as target page 1 onwards

    template.CopyPagesTo(1, 1, pdf, 1); 

}

(请注意,如果页面上还有其他功能,您可能希望选择该方法的重载,该方法可以接受其他IPdfPageExtraCopier实例,例如AcroForm字段a PdfPageFormCopier。)


查看完整回答
反对 回复 2021-04-17
  • 1 回答
  • 0 关注
  • 244 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信