C#實現(xiàn)PDF頁面合并的示例代碼
本文以C#及vb.net代碼為例介紹如何來實現(xiàn)合并PDF頁面內(nèi)容。本文中的合并并非將兩個文檔簡單合并為一個文檔,而是將多個頁面內(nèi)容合并到一個頁面,目的是減少頁面上的空白區(qū)域,使頁面布局更為緊湊、合理。下面,將分別從兩個示例來展示合并,即:
- 從兩個PDF文檔頁面實現(xiàn)頁面合并
- 在同一個PDF文檔實現(xiàn)頁面合并
程序環(huán)境
方法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. 將以下內(nèi)容復(fù)制到PM控制臺安裝:
Install-Package FreeSpire.PDF -Version 8.2.0
代碼示例
1.從兩個PDF文檔頁面實現(xiàn)頁面合并
(合并前)需要將文件1的內(nèi)容合并到文件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");
//創(chuàng)建模板
PdfTemplate template = pdf1.Pages[0].CreateTemplate();
//獲取文檔2中的第2頁
PdfPageBase page2 = pdf2.Pages[1];
//設(shè)置透明度
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")
'創(chuàng)建模板
Dim template As PdfTemplate = pdf1.Pages(0).CreateTemplate()
'獲取文檔2中的第2頁
Dim page2 As PdfPageBase = pdf2.Pages(1)
'設(shè)置透明度
page2.Canvas.SetTransparency(1F, 1F, PdfBlendMode.Overlay)
'在頁面指定位置繪制模板
page2.Canvas.DrawTemplate(template, New PointF(0, 300))
'保存文檔
pdf2.SaveToFile("mergepages.pdf")
End Sub
End Class
End Namespace2.在同一個PDF文檔實現(xiàn)頁面合并
(合并前)將同一個文檔中,第2頁中的內(nèi)容繪制到第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");
//創(chuàng)建模板
PdfTemplate template = pdf.Pages[1].CreateTemplate();
//獲取第一個頁面
PdfPageBase page1 = pdf.Pages[0];
//獲取第二個頁面
PdfPageBase page2 = pdf.Pages[1];
//設(shè)置透明度和重疊樣式
page2.Canvas.SetTransparency(1f, 1f, PdfBlendMode.Overlay);
//將第二頁中的內(nèi)容繪制到第一頁指定位置
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")
'創(chuàng)建模板
Dim template As PdfTemplate = pdf.Pages(1).CreateTemplate()
'獲取第一個頁面
Dim page1 As PdfPageBase = pdf.Pages(0)
'獲取第二個頁面
Dim page2 As PdfPageBase = pdf.Pages(1)
'設(shè)置透明度和重疊樣式
page2.Canvas.SetTransparency(1F, 1F, PdfBlendMode.Overlay)
'將第二頁中的內(nèi)容繪制到第一頁指定位置
page1.Canvas.DrawTemplate(template, New PointF(0, 240))
'刪除第二頁`
pdf.Pages.RemoveAt(1)
'保存文檔
pdf.SaveToFile("MergePage2.pdf", FileFormat.PDF)
End Sub
End Class
End Namespace到此這篇關(guān)于C#實現(xiàn)PDF頁面合并的示例代碼的文章就介紹到這了,更多相關(guān)C# PDF頁面合并內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
C#3.0使用EventLog類寫Windows事件日志的方法
這篇文章主要介紹了C#3.0使用EventLog類寫Windows事件日志的方法,以簡單實例形式分析了C#寫windows事件日志的技巧,具有一定參考借鑒價值,需要的朋友可以參考下2015-08-08
在C#中如何使用正式表達式獲取匹配所需數(shù)據(jù)
本文給大家分享C#中如何使用正式表達式獲取匹配所需數(shù)據(jù) ,非常實用,對正則表達式獲取匹配相關(guān)知識感興趣的朋友一起學(xué)習(xí)吧2016-03-03
C#中Equals和GetHashCode使用及區(qū)別
這篇文章主要介紹了C#中Equals和GetHashCode使用及區(qū)別,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-02-02
c#數(shù)據(jù)綁定之刪除datatable數(shù)據(jù)示例
這篇文章主要介紹了c#刪除datatable數(shù)據(jù)示例,需要的朋友可以參考下2014-04-04

