C# 复制pdf页面到另一个pdf文档
有时候我们可能有这样一个需求,那就是把pdf页面从一个pdf文档复制到另一个pdf文档中。由于pdf文档并不像word文档那样好编辑,因此复制也相对没有那么容易。写这篇文章主要是分享一个简单而且比较容易实现的方法 - 使用C#将一个pdf文档的页面,包括文字、图片和背景等复制到另一个pdf文档的指定位置。
下面是我准备的两个pdf文件:
目标:将左边的pdf文档的第一页复制到右边的pdf文档的第二页的位置。
代码实现:
步骤1:初始化一个pdfdocument类的对象doc1并加载第一个pdf文档。
pdfdocument doc1 = new pdfdocument();doc1.LoadFromfile("童话故事.pdf");
步骤2:初始化一个pdfdocument类的对象doc2并加载第二个pdf文档。
pdfdocument doc2 = pdfdocument();doc2.LoadFromfile(各种点心的做法.pdf");
步骤3:获取第一个pdf文档的第一页以及它的页面大小,并基于第一页创建一个pdf模板。
pdfpageBase page = doc1.Pages[0];Sizef size = page.Size;pdfTemplate template = page.CreateTemplate();
步骤4:复制第一个pdf文档的第一页到第二个pdf文档中。
调用Insert(int index,Sizef size,pdfmargins margins)方法,在第二个pdf文档中,插入一个和第一页大小一致的新页面到该文档的指定位置(这里是第二页),然后将步骤3中创建的模板应用到该页面。
doc2.Pages.Insert(1,size,new pdfmargins(0,));doc2.Pages[1].Canvas.DrawTemplate(template,1)">new PointF(0));
如果要将第一页复制到第二个文档的最后一页,请用以下代码来添加一个新页面到第二个文档的末尾,然后再将模板应用到该页面。
doc2.Pages.Add(size,1)">0));
步骤5:保存文件并重新打开。
doc2.Savetofile(复制.pdf");System.Diagnostics.Process.Start(");
复制后的效果:
全部代码:
using System; System.Collections.Generic; System.linq; System.Text; Spire.pdf; Spire.pdf.Graphics; System.Drawing; namespace 复制pdf页面到另一个pdf文档{ class Program { static voID Main(string[] args) { pdfdocument doc1 = pdfdocument(); doc1.LoadFromfile(); pdfdocument doc2 = pdfdocument(); doc2.LoadFromfile(); pdfpageBase page = doc1.Pages[]; Sizef size = page.Size; pdfTemplate template = page.CreateTemplate(); doc2.Pages.Insert()); doc2.Pages[)); doc2.Savetofile(); System.Diagnostics.Process.Start(); } }}
Note:在这里我借助的是第三方软件Spire.pdf,如果你的pdf文档不超过10页,可以去CodePlex上下载使用它的免费版本。
感谢您的阅读!
总结以上是内存溢出为你收集整理的C# 复制PDF页面到另一个PDF文档全部内容,希望文章能够帮你解决C# 复制PDF页面到另一个PDF文档所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)