本文以C#及vb.net代码为例介绍如何来实现合并PDF页面内容。本文中的合并并非将两个文档简单合并为一个文档,而是将多个页面内容合并到一个页面,目的是减少页面上的空白区域,使页面布局更为紧凑、合理。下面,将分别从两个示例来展示合并,即:

  • 从两个PDF文档页面实现页面合并
  • 在同一个PDF文档实现页面合并

【程序环境】

 方法1 

在程序中引入Spire.Pdf.dll文件;将 Free Spire.PDF for .NET下载到本地,解压,安装。安装完成后,找到安装路径下BIN文件夹中的Spire.Pdf.dll。然后在Visual Studio中打开“解决方案资源管理器”,鼠标右键点击“引用”,“添加引用”,将本地路径BIN文件夹下的dll文件添加引用至程序。

 方法2 

通过 NuGet 安装。可通过以下2种方法安装:

1. 可以在Visual Studio中打开“解决方案资源管理器”,鼠标右键点击“引用”,“管理NuGet包”,然后搜索“ Free Spire.PDF ”,点击“安装”。等待程序安装完成。

2. 将以下内容复制到PM控制台安装:

Install-Package FreeSpire.PDF -Version 8.2.0


【代码示例】

1.从两个PDF文档页面实现页面合并

(合并前)需要将文件1的内容合并到文件2的第二页空白处:

C#

using Spire.Pdf;
using Spire.Pdf.Graphics;
using System.Drawing;namespace MergePages
{class Program{static void Main(string[] args){//加载两个PDF文档PdfDocument pdf1 = new PdfDocument();pdf1.LoadFromFile("test1.pdf");PdfDocument pdf2 = new PdfDocument();pdf2.LoadFromFile("test2.pdf");//创建模板PdfTemplate template = pdf1.Pages[0].CreateTemplate();//获取文档2中的第2页PdfPageBase page2 = pdf2.Pages[1];//设置透明度page2.Canvas.SetTransparency(1f, 1f, PdfBlendMode.Overlay);//在页面指定位置绘制模板page2.Canvas.DrawTemplate(template, new PointF(0, 300));  //保存文档pdf2.SaveToFile("mergepages.pdf");}}
}

合并后的效果:

VB.NET

Imports Spire.Pdf
Imports Spire.Pdf.Graphics
Imports System.DrawingNamespace MergePagesClass ProgramPrivate Shared Sub Main(args As String())'加载两个PDF文档Dim pdf1 As New PdfDocument()pdf1.LoadFromFile("test1.pdf")Dim pdf2 As New PdfDocument()pdf2.LoadFromFile("test2.pdf")'创建模板Dim template As PdfTemplate = pdf1.Pages(0).CreateTemplate()'获取文档2中的第2页Dim page2 As PdfPageBase = pdf2.Pages(1)'设置透明度page2.Canvas.SetTransparency(1F, 1F, PdfBlendMode.Overlay)'在页面指定位置绘制模板page2.Canvas.DrawTemplate(template, New PointF(0, 300))'保存文档pdf2.SaveToFile("mergepages.pdf")End SubEnd Class
End Namespace

2.在同一个PDF文档实现页面合并

(合并前)将同一个文档中,第2页中的内容绘制到第1页空白处,并删掉多余的空白页: 

C#

using Spire.Pdf;
using Spire.Pdf.Graphics;
using System.Drawing;namespace MergePage2
{class Program{static void Main(string[] args){//加载PDF文档PdfDocument pdf = new PdfDocument("sample.pdf");//创建模板PdfTemplate template = pdf.Pages[1].CreateTemplate();//获取第一个页面PdfPageBase page1 = pdf.Pages[0];//获取第二个页面PdfPageBase page2 = pdf.Pages[1];//设置透明度和重叠样式 page2.Canvas.SetTransparency(1f, 1f, PdfBlendMode.Overlay);//将第二页中的内容绘制到第一页指定位置page1.Canvas.DrawTemplate(template, new PointF(0, 240));//删除第二页`pdf.Pages.RemoveAt(1);//保存文档pdf.SaveToFile("MergePage2.pdf",FileFormat.PDF);}}
}

合并后的效果:

VB.NET

Imports Spire.Pdf
Imports Spire.Pdf.Graphics
Imports System.DrawingNamespace MergePage2Class ProgramPrivate Shared Sub Main(args As String())'加载PDF文档Dim pdf As New PdfDocument("sample.pdf")'创建模板Dim template As PdfTemplate = pdf.Pages(1).CreateTemplate()'获取第一个页面Dim page1 As PdfPageBase = pdf.Pages(0)'获取第二个页面Dim page2 As PdfPageBase = pdf.Pages(1)'设置透明度和重叠样式 page2.Canvas.SetTransparency(1F, 1F, PdfBlendMode.Overlay)'将第二页中的内容绘制到第一页指定位置page1.Canvas.DrawTemplate(template, New PointF(0, 240))'删除第二页`pdf.Pages.RemoveAt(1)'保存文档pdf.SaveToFile("MergePage2.pdf", FileFormat.PDF)End SubEnd Class
End Namespace

★ 相关阅读推荐:C# 合并及拆分PDF文件

—END—

C#/VB.NET 合并PDF页面相关推荐

  1. C#VB.NET 合并PDF页面

    本文以C#及vb.net代码为例介绍如何来实现合并PDF页面内容.本文中的合并并非将两个文档简单合并为一个文档,而是将多个页面内容合并到一个页面,目的是减少页面上的空白区域,使页面布局更为紧凑.合理. ...

  2. C# / VB.NET合并PDF指定页

    在前面的文章中,我们已经知道如何合并.拆分多个PDF文件,在这篇文章中的合并.拆分PDF文档主要是以方便文档管理的目的来操作文档,在文档查阅.管理及存储上很方便实用.但是我们如果想要合并多个文档中的部 ...

  3. 2022年最简单旋转PDF页面的方法推荐

    有时候,我们打开一个PDF文件就会发现,有些PDF页面会被颠倒或错误旋转,会影响我们阅读,那遇到这种情况,要如何将其旋转到正确的位置?今天我们就借助金闪PDF编辑器给大家推荐几个简单的旋转PDF页面的 ...

  4. 如何插入Word文件内容到PDF,或者混合重新排列多个PDF页面

    随着互联网快速发展,我们在日常工作中经常要使用和管理大量的PDF文档.你可能会发现自己时常需要操作和调整PDF页面顺序,或将一些页面从一个PDF文件插入到另一个中.一般的PDF编辑器虽然功能强大但使用 ...

  5. 编辑器的合并用不了_为什么图片和PDF合并后的PDF页面大小不一

    很多时候我们需要将图片和PDF文件合并后变成一个PDF文件,但经常会出现合并后的新PDF文件页面大小不一,这是怎么回事呢?要怎么处理呢? 可能有些小伙伴还不知道如何将图片和PDF进行合并,先简单说一下 ...

  6. 页面显示pdf_PDF怎样合并?在Mac上合并PDF文件的最佳方法

    在保存编辑内容的同时合并PDF文件可能是一个大问题.合并大文件时,"预览"不涵盖展平,并且会使系统变慢.这些和其他问题可能会迫使您寻找更好的选择.让我们探索在Mac上组合PDF以涵 ...

  7. pdf 改变页面大小 python_用Python开发PDF编辑器,实现PDF页面提取,页面合并与替换...

    对于PDF页面提取,我们的开发思路是这样子的.我们设计一个表单,让用户上传一个PDF文件并输入提取页面号码.服务器在收到PDF文件后使用PyPDF2读取用户上传的PDF文件,提取我们所需要的页面,然后 ...

  8. 使用PDF编辑器进行PDF合并与PDF页面提取

    随着PDF文档在工作学习上越来越受欢迎,与PDF相关的操作大家都必须懂得一些,比如说简单的PDF合并与PDF页面提取.PDF合并能够将零散地页面汇总在一起,方便查看,也方便统一传输:而将PDF文档里需 ...

  9. 为什么图片和PDF合并后的PDF页面大小不一

    很多时候我们需要将图片和PDF文件合并后变成一个PDF文件,但经常会出现合并后的新PDF文件页面大小不一,这是怎么回事呢?要怎么处理呢? 可能有些小伙伴还不知道如何将图片和PDF进行合并,先简单说一下 ...

  10. Spire.PDF:如何添加、删除PDF页面以及自定义文档属性

    更多资源查看:Spire.XLS工作表教程 | Spire.Doc系列教程 | Spire.PDF系列教程 [下载Spire.PDF最新试用版] Spire.PDF是一个专业的PDF组件,能够独立地创 ...

最新文章

  1. 如何使用JPA注解标注多对多的关系
  2. 【裴蜀定理】[HAOI2011]向量
  3. 简书上的大牛总结的 ServerSocket Accept() 的确是阻塞方法 与猜想一致 一些理解 转载如下
  4. php register_shutdown_function
  5. Hadoop平台作业参数设置关于mapreduce.job.split.metainfo.maxsize的说明
  6. 横河川仪压力变送器故障代码_YOKOGAWA/重庆横河川仪EJA变送器三大优秀性能!
  7. 图像处理与图像识别笔记(五)图像增强2
  8. 数据结构之线性表:顺序线性表 Java 实现(底层基于数组)
  9. 解析淘宝商城缘何更名“天猫”
  10. 三维绘图之Mayavi.mlab
  11. 厨房电器机械EN60335-2-14检测标准及项目
  12. UnityMMO资源整合服务器部署
  13. MongoSocketOpenException: Exception opening socket
  14. 软件设计师必考精华 - 面相对象
  15. 高景一号01星遥感影像解译数据分辨率是多少
  16. 重庆邮电大学 计算机学院导师,宋秀丽_重庆邮电大学研究生导师信息
  17. 如果你看ARCore看的一脸懵的话,就来看看这个,带你入门
  18. PA,MIOU,FWIOU
  19. 互联网概述, 分组交换, 网络类别, 网络拓扑结构
  20. Ubuntu python3安装pandas【问题解决】

热门文章

  1. 三年级下册计算机知识点,【北师大】三年级下册语文各单元知识点归纳
  2. 计算机专业英语复习第一天
  3. PPT投影仪演示设置
  4. ubuntu 常用软件包安装、卸载和删除的方法
  5. javaweb网上购物系统,jsp网页线上购物,mysql(源码+报告)
  6. flowplayer设置视频logo
  7. NodeMCU ESP8266+Arduino:将宿舍老式门锁改造为简易密码锁
  8. 软件测试工程师必备技能之Java基础
  9. Python计算机视觉之特征提取与图像匹配
  10. JAVA idea中安装P3C方法和使用指南