c#用itextsharp将几个PDF合并成一个PDF时,如何使合成后的每个页面大小和原PDF的页面大小相同
用的Microsoft Visual Studio Enterprise 2019;版本 16.11.8
c#用itextsharp将几个PDF合并成一个PDF时,如何使合成后的每个页面大小和原PDF的页面大小相同
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
3条回答 默认 最新
- nuclear2011 2021-12-24 09:53关注
你是想合成的结果pdf依然保留合并前的几个文档的页面尺寸?不知道itextsharp合并是不是默认会统一pdf的页面尺寸。我用spire.pdf合成几个页面尺寸不同的pdf,合成的pdf对应页面尺寸和原来的pdf的对应页面尺寸一样
String[] files = new String[] { "文档1.pdf", "文档2.pdf", "文档3.pdf" }; PdfDocumentBase doc = PdfDocument.MergeFiles(files); doc.Save("合并.pdf", FileFormat.PDF);
如果你是想要合并后的pdf页面尺寸统一,可以创建一个空白文档,然后把合并后的pdf文档的内容画到空白文档里面去
//创建空白PDF PdfDocument newPdf = new PdfDocument(); //设置页面尺寸为A4 newPdf.PageSettings.Size = PdfPageSize.A4; //去掉页边距 newPdf.PageSettings.Margins = new PdfMargins(0); //加载PDF文档 PdfDocument pdf = new PdfDocument("测试.pdf"); for (int i = 0; i < pdf.Pages.Count; i++) { //添加页面到空白PDF PdfPageBase newPage = newPdf.Pages.Add(); //设置Layout为PdfLayoutType.OnePage,如果不设置页面内容不会缩放 PdfTextLayout layout = new PdfTextLayout(); layout.Layout = PdfLayoutType.OnePage; //把PDF页面内容画到空白PDF的页面上 pdf.Pages[i].CreateTemplate().Draw(newPage, new PointF(0, 0), layout); } //保存 newPdf.SaveToFile("A4.pdf");
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用
悬赏问题
- ¥20 docker里部署springboot项目,访问不到扬声器
- ¥15 netty整合springboot之后自动重连失效
- ¥15 悬赏!微信开发者工具报错,求帮改
- ¥20 wireshark抓不到vlan
- ¥20 关于#stm32#的问题:需要指导自动酸碱滴定仪的原理图程序代码及仿真
- ¥20 设计一款异域新娘的视频相亲软件需要哪些技术支持
- ¥15 stata安慰剂检验作图但是真实值不出现在图上
- ¥15 c程序不知道为什么得不到结果
- ¥15 键盘指令混乱情况下的启动盘系统重装
- ¥40 复杂的限制性的商函数处理