溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

C#怎么實(shí)現(xiàn)PDF頁(yè)面合并

發(fā)布時(shí)間:2022-05-05 13:54:43 來(lái)源:億速云 閱讀:633 作者:iii 欄目:開發(fā)技術(shù)

這篇文章主要介紹了C#怎么實(shí)現(xiàn)PDF頁(yè)面合并的相關(guān)知識(shí),內(nèi)容詳細(xì)易懂,操作簡(jiǎn)單快捷,具有一定借鑒價(jià)值,相信大家閱讀完這篇C#怎么實(shí)現(xiàn)PDF頁(yè)面合并文章都會(huì)有所收獲,下面我們一起來(lái)看看吧。

程序環(huán)境

方法1

在程序中引入Spire.Pdf.dll文件;將 Free Spire.PDF for .NET下載到本地,解壓,安裝。安裝完成后,找到安裝路徑下BIN文件夾中的Spire.Pdf.dll。然后在Visual Studio中打開“解決方案資源管理器”,鼠標(biāo)右鍵點(diǎn)擊“引用”,“添加引用”,將本地路徑BIN文件夾下的dll文件添加引用至程序。

方法2

通過(guò) NuGet 安裝??赏ㄟ^(guò)以下2種方法安裝:

1. 可以在Visual Studio中打開“解決方案資源管理器”,鼠標(biāo)右鍵點(diǎn)擊“引用”,“管理NuGet包”,然后搜索“ Free Spire.PDF ”,點(diǎn)擊“安裝”。等待程序安裝完成。

2. 將以下內(nèi)容復(fù)制到PM控制臺(tái)安裝:

Install-Package FreeSpire.PDF -Version 8.2.0

代碼示例

1.從兩個(gè)PDF文檔頁(yè)面實(shí)現(xiàn)頁(yè)面合并

(合并前)需要將文件1的內(nèi)容合并到文件2的第二頁(yè)空白處:

C#怎么實(shí)現(xiàn)PDF頁(yè)面合并

C#

using Spire.Pdf;
using Spire.Pdf.Graphics;
using System.Drawing;

namespace MergePages
{
    class Program
    {
        static void Main(string[] args)
        {
            //加載兩個(gè)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頁(yè)
            PdfPageBase page2 = pdf2.Pages[1];
            //設(shè)置透明度
            page2.Canvas.SetTransparency(1f, 1f, PdfBlendMode.Overlay);
            //在頁(yè)面指定位置繪制模板
            page2.Canvas.DrawTemplate(template, new PointF(0, 300));  

            //保存文檔
            pdf2.SaveToFile("mergepages.pdf");
        }
    }
}

合并后的效果:

C#怎么實(shí)現(xiàn)PDF頁(yè)面合并

VB.NET

Imports Spire.Pdf
Imports Spire.Pdf.Graphics
Imports System.Drawing

Namespace MergePages
    Class Program
        Private Shared Sub Main(args As String())
            '加載兩個(gè)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頁(yè)
            Dim page2 As PdfPageBase = pdf2.Pages(1)
            '設(shè)置透明度
            page2.Canvas.SetTransparency(1F, 1F, PdfBlendMode.Overlay)
            '在頁(yè)面指定位置繪制模板
            page2.Canvas.DrawTemplate(template, New PointF(0, 300))

            '保存文檔
            pdf2.SaveToFile("mergepages.pdf")
        End Sub
    End Class
End Namespace

2.在同一個(gè)PDF文檔實(shí)現(xiàn)頁(yè)面合并

(合并前)將同一個(gè)文檔中,第2頁(yè)中的內(nèi)容繪制到第1頁(yè)空白處,并刪掉多余的空白頁(yè):

C#怎么實(shí)現(xiàn)PDF頁(yè)面合并

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();

            //獲取第一個(gè)頁(yè)面
            PdfPageBase page1 = pdf.Pages[0];

            //獲取第二個(gè)頁(yè)面
            PdfPageBase page2 = pdf.Pages[1];

            //設(shè)置透明度和重疊樣式 
            page2.Canvas.SetTransparency(1f, 1f, PdfBlendMode.Overlay);

            //將第二頁(yè)中的內(nèi)容繪制到第一頁(yè)指定位置
            page1.Canvas.DrawTemplate(template, new PointF(0, 240));

            //刪除第二頁(yè)`
            pdf.Pages.RemoveAt(1);

            //保存文檔
            pdf.SaveToFile("MergePage2.pdf",FileFormat.PDF);
        }
    }
}

合并后的效果:

C#怎么實(shí)現(xiàn)PDF頁(yè)面合并

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()

            '獲取第一個(gè)頁(yè)面
            Dim page1 As PdfPageBase = pdf.Pages(0)

            '獲取第二個(gè)頁(yè)面
            Dim page2 As PdfPageBase = pdf.Pages(1)

            '設(shè)置透明度和重疊樣式 
            page2.Canvas.SetTransparency(1F, 1F, PdfBlendMode.Overlay)

            '將第二頁(yè)中的內(nèi)容繪制到第一頁(yè)指定位置
            page1.Canvas.DrawTemplate(template, New PointF(0, 240))

            '刪除第二頁(yè)`
            pdf.Pages.RemoveAt(1)

            '保存文檔
            pdf.SaveToFile("MergePage2.pdf", FileFormat.PDF)
        End Sub
    End Class
End Namespace

關(guān)于“C#怎么實(shí)現(xiàn)PDF頁(yè)面合并”這篇文章的內(nèi)容就介紹到這里,感謝各位的閱讀!相信大家對(duì)“C#怎么實(shí)現(xiàn)PDF頁(yè)面合并”知識(shí)都有一定的了解,大家如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

pdf
AI