C# / VB.NET合并PDF指定頁

在前面的文章中,我們已經知道如何合并、拆分多個PDF文件,在這篇文章中的合并、拆分PDF文檔主要是以方便文檔管理的目的來操作文檔,在文檔查閱、管理及存儲上很方便實用。但是我們如果想要合并多個文檔中的部分文檔頁的內容,該如何來做呢?可以參考接下來將要介紹的合并方法。

PS: 本篇文章是對Free Spire.PDF 的合并功能的進一步介紹,即如何合并多個PDF文檔中的指定頁(指定單頁、指定多頁)為一個新文檔
使用工具:Free Spire.PDF for .NET
提示:下載安裝該組件后,注意在項目程序中添加引用Spire.PDF.dll文件
代碼細節可參考以下主要代碼段:

//初始化數組,數組元素為需要合并的PDF文檔
string[] files = { "sample1.pdf", "sample2.pdf" };
PdfDocument[] docs = new PdfDocument[files.Length];
//遍歷PDF文檔
for (int i = 0; i < files.Length; i++)
{
docs[i] = new PdfDocument();
docs[i].LoadFromFile(files[i]);
}
//創建一個新的PDF文檔并插入從原文檔選取的指定頁
PdfDocument doc = new PdfDocument();
doc.InsertPage(docs[0], 0);//指定單頁(文檔1的第1頁)
doc.InsertPageRange(docs[1], 0, 1);//指定多頁 (文檔2的第1頁和第2頁)
//保存并命名合并后的文檔,同時運行文檔
doc.SaveToFile("Result.pdf");
Process.Start("Result.pdf");

合并前:
C# / VB.NET合并PDF指定頁
合并后:
C# / VB.NET合并PDF指定頁

全部代碼
C#

using Spire.Pdf;
using System.Diagnostics;namespace MergeSelectedPDFpages
{class Program{static void Main(string[] args){string[] files = { "sample1.pdf", "sample2.pdf" };PdfDocument[] docs = new PdfDocument[files.Length];for (int i = 0; i < files.Length; i++){docs[i] = new PdfDocument();docs[i].LoadFromFile(files[i]);}PdfDocument doc = new PdfDocument();doc.InsertPage(docs[0], 0); doc.InsertPageRange(docs[1], 0, 1);     doc.SaveToFile("Result.pdf");Process.Start("Result.pdf");}}
}

VB.NET

Imports Spire.Pdf
Imports System.DiagnosticsNamespace MergeSelectedPDFpagesClass ProgramPrivate Shared Sub Main(ByVal args() As String)Dim files() As String = New String() {"sample1.pdf", "sample2.pdf"}Dim docs() As PdfDocument = New PdfDocument((files.Length) - 1) {}Dim i As Integer = 0Do While (i < files.Length)docs(i) = New PdfDocumentdocs(i).LoadFromFile(files(i))i = (i + 1)LoopDim doc As PdfDocument = New PdfDocumentdoc.InsertPage(docs(0), 0)doc.InsertPageRange(docs(1), 0, 1)doc.SaveToFile("Result.pdf")Process.Start("Result.pdf")End SubEnd Class
End Namespace

以上內容是本次關于“如何合并PDF文檔指定頁”的全部介紹,如果喜歡,歡迎轉載(轉載請注明出處)
感謝閱讀!

轉載于:https://blog.51cto.com/eiceblue/2072424

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/255452.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/255452.shtml
英文地址,請注明出處:http://en.pswp.cn/news/255452.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

高級異常

一、什么是異常 解析&#xff1a;異常就是在程序的運行過程中所發生的不正常事件 二、Java異常處理是通過5個關鍵字來解決的&#xff1a;try、catch、finally、&#xff08;前三個是捕獲異常&#xff09;throw&#xff08;手動拋出異常&#xff09;、throws&#xff08;聲明異常…

【糾錯】——錯誤:PermissionError: [WinError 32] 另一個程序正在使用此文件,進程無法訪問。“+解決方案

目錄 問題出現場景 原因 解決方案 問題出現場景 先打開pdf文件&#xff0c;獲取pdf文件內容后&#xff0c;利用os.remove()來刪除文件&#xff0c;這時候出現錯誤 os.remove(source_path)PermissionError: [WinError 32] 另一個程序正在使用此文件&#xff0c;進程無法訪問。…

Eclipse中自動添加注釋

方法一&#xff1a;Eclipse中設置在創建新類時自動生成注釋 windows-->preference   Java-->Code Style-->Code Templates     code-->new Java files 編輯它 ${filecomment} ${package_declaration} /** * Author fufu* Time ${date} ${time} * Version 1.…

使用rancher創建負載均衡服務

2019獨角獸企業重金招聘Python工程師標準>>> 2臺主機&#xff0c;一個server包含2個容器進程&#xff08;可以是多個&#xff09;&#xff0c;一個負載均衡容器&#xff08;貌似是依賴haproxy的&#xff09; 1&#xff0c;創建一個鏡像&#xff0c;編輯Dockerfile 創…

Six Basic Functional Areas of Spring

轉載于:https://www.cnblogs.com/Brake/p/5440738.html

【pyqt5學習】——登錄界面跳轉到主界面,登錄界面關閉的情況下從主界面跳轉回登錄界面

目錄 一、登錄界面長下面這樣&#xff0c;由qt designer設計 login.py 二、登錄界面 邏輯代碼loginLogic.py 三、主界面comsumeType.py 四、主界面邏輯代碼comsumeTypeLogic.py 五、登錄界面跳轉至主界面 六、主界面回到登錄界面 一、登錄界面長下面這樣&#xff0c;由qt d…

關于問題vxworks與linux區別

vxWorks Linux 內核 結構 微內核&#xff0c; 內核只提供 了基本的服 務&#xff0c;如&#xff1a;任 務管理&#xff0c;內 存管理&#xff0c;中 斷處理等 宏內核&#xff0c; 除了基本的 服務&#xff0c;內核…

【python學習】——獲取桌面路徑,獲取系統盤符,獲取電腦用戶名,獲取軟件自啟動存放目錄

目錄 1、獲取桌面路徑 法一&#xff1a;利用winshell庫 法二&#xff1a;利用winreg庫 2、獲取系統盤符 3、獲取電腦用戶名 4、獲取軟件自啟動存放目錄 1、獲取桌面路徑 法一&#xff1a;利用winshell庫 import winshell print(winshell.desktop()) 法二&#xff1a;利…

團隊項目:個人工作總結10

團隊項目&#xff1a;個人工作總結10 一.昨天干了什么改進現有的成果二.今天準備干什么做最后的調試分析改進整合。三.遇到的困難任務還是沒有完成轉載于:https://www.cnblogs.com/kongyuhang/p/5442714.html

WPF ClickOnce應用程序IIS部署發布攻略

WPF程序非常適合公司內網使用&#xff0c;唯一缺點就是客戶端要安裝.net框架4.0。優勢也很明顯&#xff0c;在客戶端運行的是一個WinForm程序&#xff0c;自動下載&#xff0c;可以充分利用客戶機的性能&#xff0c;而且是以當前的Windows用戶權限運行&#xff0c;避免了權限帶…

文件傳輸協議

文件傳輸協議&#xff08;英文&#xff1a;File Transfer Protocol&#xff0c;簡稱為FTP&#xff09;是用于在網絡上進行文件傳輸的一套標準協議。它屬于網絡傳輸協議的應用層。 FTP是一個8位的客戶端-服務器協議&#xff0c;能操作任何類型的文件而不需要進一步處理&#xff…

36.LEN() 函數

LEN() 函數 LEN 函數返回文本字段中值的長度。 SQL LEN() 語法 SELECT LEN(column_name) FROM table_name SQL LEN() 實例 我們擁有下面這個 "Persons" 表&#xff1a; IdLastNameFirstNameAddressCity1AdamsJohnOxford StreetLondon2BushGeorgeFifth AvenueNew York…

【python學習】——為exe軟件創建快捷方式;實現軟件自啟動

目錄 1、為exe創建快捷方式 2、實現軟件自啟動 3、完整代碼 4、結果展示 1、為exe創建快捷方式 利用winshell庫的CreateShortCut函數進行創建 【python學習】——獲取桌面路徑&#xff0c;獲取系統盤符&#xff0c;獲取電腦用戶名&#xff0c;獲取軟件自啟動存放目錄_有情懷…

dedecms如何調用當前欄目的子欄目及子欄目文章

前面ytkah談到了 dedecms調用當前欄目的子欄目怎么操作&#xff0c;有的朋友會問如果再增加一個調用子欄目文章的需求&#xff0c;即調用當前欄目的子欄目及子欄目文章&#xff0c;這個有辦法實現嗎&#xff1f;這時就要涉及到另外兩個標簽的調用了&#xff0c;dede:channelart…

控制面板項 .cpl 文件說明

控制面板項 .cpl 文件說明appwiz.cpl 程序和功能、卸載或更改程序bthprops.cpl 藍牙控制面板desk.cpl 屏幕分辨率Firewall.cpl WINDOWS防火墻hdwwiz.cpl 設備管理器igfxcpl.cpl 英特爾圖形和…

vxWorks下常用的幾種延時方法

在應用編程的時候&#xff0c;通常會碰到需要一個任務在特定的延時之后執行一個指定的動作&#xff0c;如等待外設以確保數據可靠&#xff0c;控制揚聲器發聲時間以及串口通信超時重發等。這就需要利用定時器機制來計量特定長度的時間段。 vxWorks作為實時嵌入式系統&#xff0…

【pyqt5學習】——窗口最小化至托盤、取消任務欄圖標

目錄 1、最小化至托盤 1&#xff09;重寫系統托盤類&#xff0c;設置托盤圖標等屬性 2&#xff09;將具體的窗口放入托盤 2、取消任務欄界面圖標 3、問題匯總 1&#xff09;退出后托盤圖標還是存在&#xff0c;沒有消失 2&#xff09;最小化后左下角會出現 窗口 3&#…

標準庫類型String,Vector

string對象中每個字符的處理&#xff1a; 要用到 for(聲明:表達式) 語句 比如簡單的打印string str中每一個字符 --- string str("hello world!!!"); for(auto c: str)cout<<c<<endl; (ps:這里auto 的意思是讓編譯器自己來決定c變量的類型) --- 再舉一…

React 是怎樣煉成的

本文主要講述 React 的誕生過程和優化思路。 內容整理自 2014 年的 OSCON - React Architecture by vjeux&#xff0c;雖然從今天&#xff08;2018&#xff09;來看可能會有點歷史感&#xff0c;但仍然值得學習了解。以史為鑒&#xff0c;從中也可以管窺 Facebook 優秀的工程管…

HOJ 1640 Mobile Phone

題意&#xff1a;有一個n*n的矩陣&#xff0c;op1時&#xff0c;在(x,y)增加值z&#xff0c;op2時&#xff0c;求以(x1,y1)和(x2,y2)構成的矩陣的和。 思路&#xff1a;二維線段樹。 代碼&#xff1a; 1 #include<stdio.h>2 #include<string.h>3 const int N1111;4…