欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C#實(shí)現(xiàn)PDF頁(yè)面合并的示例代碼

 更新時(shí)間:2022年04月30日 07:56:50   作者:E-iceblue  
這篇文章主要為大家介紹了如何利用C#及vb.net來(lái)實(shí)現(xiàn)合并PDF頁(yè)面內(nèi)容,文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)C#有一定幫助,感興趣的小伙伴可以了解一下

本文以C#及vb.net代碼為例介紹如何來(lái)實(shí)現(xiàn)合并PDF頁(yè)面內(nèi)容。本文中的合并并非將兩個(gè)文檔簡(jiǎn)單合并為一個(gè)文檔,而是將多個(gè)頁(yè)面內(nèi)容合并到一個(gè)頁(yè)面,目的是減少頁(yè)面上的空白區(qū)域,使頁(yè)面布局更為緊湊、合理。下面,將分別從兩個(gè)示例來(lái)展示合并,即:

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

程序環(huán)境

方法1

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

方法2

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

1. 可以在Visual Studio中打開(kāi)“解決方案資源管理器”,鼠標(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#

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");
        }
    }
}

合并后的效果:

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#

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

合并后的效果:

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è)面合并的示例代碼的文章就介紹到這了,更多相關(guān)C# PDF頁(yè)面合并內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • c#基礎(chǔ)系列之ref和out的深入理解

    c#基礎(chǔ)系列之ref和out的深入理解

    有過(guò)C#基礎(chǔ)知識(shí)的都應(yīng)該清楚Ref和Out的使用方法,所以下面這篇文章主要給大家介紹了關(guān)于c#基礎(chǔ)系列之ref和out的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友可以參考借鑒,下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2018-09-09
  • C#實(shí)現(xiàn)向多線(xiàn)程傳參的三種方式實(shí)例分析

    C#實(shí)現(xiàn)向多線(xiàn)程傳參的三種方式實(shí)例分析

    這篇文章主要介紹了C#實(shí)現(xiàn)向多線(xiàn)程傳參的三種方式,以實(shí)例形式較為詳細(xì)的分析了C#多線(xiàn)程及參數(shù)傳遞的相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-11-11
  • Unity實(shí)現(xiàn)紅酒識(shí)別的示例代碼

    Unity實(shí)現(xiàn)紅酒識(shí)別的示例代碼

    本文主要介紹了如何通過(guò)Unity實(shí)現(xiàn)紅酒識(shí)別,可以實(shí)現(xiàn)識(shí)別圖像中的紅酒標(biāo)簽,返回紅酒名稱(chēng)、國(guó)家、產(chǎn)區(qū)、酒莊、類(lèi)型、糖分、葡萄品種、酒品描述等信息,感興趣的可以學(xué)習(xí)一下
    2022-02-02
  • C#關(guān)于類(lèi)的只讀只寫(xiě)屬性實(shí)例分析

    C#關(guān)于類(lèi)的只讀只寫(xiě)屬性實(shí)例分析

    這篇文章主要介紹了C#關(guān)于類(lèi)的只讀只寫(xiě)屬性實(shí)例分析,對(duì)于初學(xué)者更好的理解類(lèi)的只讀只寫(xiě)屬性有一定的幫助,需要的朋友可以參考下
    2014-07-07
  • C#時(shí)間戳基本用法實(shí)例分析

    C#時(shí)間戳基本用法實(shí)例分析

    這篇文章主要介紹了C#時(shí)間戳基本用法,較為詳細(xì)的講述了時(shí)間戳的概念、生成方法與轉(zhuǎn)換技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-07-07
  • C# 實(shí)現(xiàn)PPT 每一頁(yè)轉(zhuǎn)成圖片過(guò)程解析

    C# 實(shí)現(xiàn)PPT 每一頁(yè)轉(zhuǎn)成圖片過(guò)程解析

    這篇文章主要介紹了C# 實(shí)現(xiàn)PPT 每一頁(yè)轉(zhuǎn)成圖片過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-09-09
  • C# winform實(shí)現(xiàn)右下角彈出窗口結(jié)果的方法

    C# winform實(shí)現(xiàn)右下角彈出窗口結(jié)果的方法

    這篇文章主要介紹了C# winform實(shí)現(xiàn)右下角彈出窗口結(jié)果的方法,結(jié)合實(shí)例形式分析了C#窗口操作的相關(guān)技巧,需要的朋友可以參考下
    2017-06-06
  • DevExpress實(shí)現(xiàn)GridControl單元格編輯驗(yàn)證的方法

    DevExpress實(shí)現(xiàn)GridControl單元格編輯驗(yàn)證的方法

    這篇文章主要介紹了DevExpress實(shí)現(xiàn)GridControl單元格編輯驗(yàn)證的方法,很實(shí)用的功能,需要的朋友可以參考下
    2014-08-08
  • C#Url操作類(lèi)封裝、仿Node.Js中的Url模塊實(shí)例

    C#Url操作類(lèi)封裝、仿Node.Js中的Url模塊實(shí)例

    這篇文章主要介紹了C#Url操作類(lèi)封裝、仿Node.Js中的Url模塊,實(shí)例分析了C#Url操作類(lèi)封裝的技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下。
    2016-10-10
  • C#使用Clipboard類(lèi)實(shí)現(xiàn)剪貼板功能

    C#使用Clipboard類(lèi)實(shí)現(xiàn)剪貼板功能

    這篇文章介紹了C#使用Clipboard類(lèi)實(shí)現(xiàn)剪貼板功能的方法,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-06-06

最新評(píng)論