C#/VB.NET 合并PDF页面
本文以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.Drawing
-
-
Namespace MergePages
-
Class Program
-
Private 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 Sub
-
End 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.Drawing
-
-
Namespace MergePage2
-
Class Program
-
Private 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 Sub
-
End Class
-
End Namespace
—END—
这篇好文章是转载于:学新通技术网
- 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
- 本站站名: 学新通技术网
- 本文地址: /boutique/detail/tanhgebcef
系列文章
更多
同类精品
更多
-
photoshop保存的图片太大微信发不了怎么办
PHP中文网 06-15 -
Android 11 保存文件到外部存储,并分享文件
Luke 10-12 -
《学习通》视频自动暂停处理方法
HelloWorld317 07-05 -
word里面弄一个表格后上面的标题会跑到下面怎么办
PHP中文网 06-20 -
photoshop扩展功能面板显示灰色怎么办
PHP中文网 06-14 -
微信公众号没有声音提示怎么办
PHP中文网 03-31 -
excel下划线不显示怎么办
PHP中文网 06-23 -
excel打印预览压线压字怎么办
PHP中文网 06-22 -
怎样阻止微信小程序自动打开
PHP中文网 06-13 -
TikTok加速器哪个好免费的TK加速器推荐
TK小达人 10-01