C#iTextsharp替换多页PDF的页面

C#iTextsharp替换多页PDF的页面,c#,pdf,replace,itext,C#,Pdf,Replace,Itext,比如说,我现在有一个5页的PDF,叫做“a.PDF”,第2页和第4页是空的。和另一个2页的PDF文件“b.PDF”。现在,我想把“b.pdf”的第一页复制到“a.pdf”的第二页,“b.pdf”的第二页复制到“a.pdf”的第四页 我发现很难找到任何例子,我发现这里有人提供, 名为“PdfStamper.ReplacePage()”,我想这就是我要找的,但我做了一个简单的演示,但没有成功。谁能给我一张支票吗 string _outMergeFile = Server.MapPath("~/11/

比如说,我现在有一个5页的PDF,叫做“a.PDF”,第2页和第4页是空的。和另一个2页的PDF文件“b.PDF”。现在,我想把“b.pdf”的第一页复制到“a.pdf”的第二页,“b.pdf”的第二页复制到“a.pdf”的第四页

我发现很难找到任何例子,我发现这里有人提供, 名为“PdfStamper.ReplacePage()”,我想这就是我要找的,但我做了一个简单的演示,但没有成功。谁能给我一张支票吗

string _outMergeFile = Server.MapPath("~/11/a.pdf");

string file2 = Server.MapPath("~/11/b.pdf");
PdfReader readerA = new PdfReader(_outMergeFile);
PdfReader readerB = new PdfReader(file2);

PdfStamper cc = new PdfStamper(readerA,new MemoryStream());

cc.ReplacePage(readerB, 1, 2);
cc.ReplacePage(readerB, 2, 4);
cc.Close();
提前谢谢

================================================================================= 多亏了何塞的建议。代码现在可以工作了。我现在在这里提供一个简单的示例供其他人参考

public void MyFunction()
{
    string _outMergeFile = Server.MapPath("~/11/a.pdf");

    string file2 = Server.MapPath("~/11/b.pdf");
    PdfReader readerA = new PdfReader(_outMergeFile);
    PdfReader readerB = new PdfReader(file2);

    PdfStamper cc = new PdfStamper(readerA, new FileStream(Server.MapPath("~/11/result.pdf"), FileMode.Append));

    cc.ReplacePage(readerB, 1, 2);
    cc.Close();
}

好的,我想我发现了你的问题
cc
是在内存中创建的,在关闭文件之前,我看不到任何保存文件实际更改的代码,因此对内存中文件所做的更改将丢失。一种选择是使用
新文件流()而不是内存流创建它

到底发生了什么?您是收到错误还是根本不工作?没有错误弹出,根本不工作,文件没有更改。我想你是对的,但是你能提供一些示例代码吗?我只是在互联网上找不到任何有用的api或示例代码。我已经编辑了我的答案,这应该可以做很多技巧,Jose,它适合我。我还提供了代码;)