C# 在循环中使用PdfStamper

C# 在循环中使用PdfStamper,c#,pdf,itext,C#,Pdf,Itext,我正在尝试编辑单页pdf,如下所示: 循环直到所有内容都被使用{1.复制第一页2.添加一些内容} 现在,一切正常,当我试图关闭文档和母版时,我得到一个错误,第一个已经关闭 问题是: 如果文档已关闭我可以打开它,但只有页面的副本,没有添加任何内容 如果母版已关闭,则说明文档已损坏,但当我删除文档时。NewPage()会起作用,但仅适用于第一页 我尝试在每次迭代中创建stamper的新实例,但出现以下错误: iTextSharp.dll中发生类型为“iTextSharp.text.DocumentE

我正在尝试编辑单页pdf,如下所示:

循环
直到所有内容都被使用{1.复制第一页2.添加一些内容}

现在,一切正常,当我试图关闭文档和母版时,我得到一个错误,第一个已经关闭

问题是: 如果
文档已关闭
我可以打开它,但只有页面的副本,没有添加任何内容

如果
母版已关闭
,则说明文档已损坏,但当我删除文档时。NewPage()会起作用,但仅适用于第一页

我尝试在每次迭代中创建stamper的新实例,但出现以下错误:

iTextSharp.dll中发生类型为“iTextSharp.text.DocumentException”的未处理异常

附加信息:原始文档被重新使用。读一下 再次从文件中删除


我确实在每次迭代中都关闭了压模,但没有任何帮助。

新的PdfReader()和新的PdfStamper()都应该在循环中。另外,在循环内关闭PdfStamper

新的PdfReader()和新的PdfStamper()都应该在循环内。另外,在循环中关闭你的PdfStamper

一个名字相似的用户提出了一个非常类似的问题…你不能重复使用
PdfStamper
,因为
PdfStamper
在你更改现有PDF的内容时会更改底层的
PdfReader
。您需要为每个新的输出文件创建一个新的
PdfStamper
。这是有案可查的。请参阅行动手册ye old iText第185页上的常见问题条目。(我不明白为什么没有人阅读文档。)一个名字相似的用户提出了一个非常类似的问题……您不能重用
PdfStamper
,因为
PdfStamper
在更改现有PDF的内容时会更改底层的
PdfReader
。您需要为每个新的输出文件创建一个新的
PdfStamper
。这是有案可查的。请参阅行动手册ye old iText第185页上的常见问题条目。(我不明白为什么没有人读过这些文档。)