C#iTextsharp替换多页PDF的页面
比如说,我现在有一个5页的PDF,叫做“a.PDF”,第2页和第4页是空的。和另一个2页的PDF文件“b.PDF”。现在,我想把“b.pdf”的第一页复制到“a.pdf”的第二页,“b.pdf”的第二页复制到“a.pdf”的第四页 我发现很难找到任何例子,我发现这里有人提供, 名为“PdfStamper.ReplacePage()”,我想这就是我要找的,但我做了一个简单的演示,但没有成功。谁能给我一张支票吗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/
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,它适合我。我还提供了代码;)