有時(shí)我們可能會(huì)遇到下圖這樣一種情況 — 我們需要的資料或教程被分成了幾部分存放在多個(gè)PDF文件中,不管是閱讀還是保存都不是很方便,這時(shí)我們肯定想要把這些PDF文件合并為一個(gè)PDF文件。相對(duì)應(yīng)的,有時(shí)候我們也需要拆分一個(gè)大的PDF文件,來(lái)從中獲取我們需要的那一部分資料。這篇文章主要分享如何使用C#來(lái)將多個(gè)PDF文件合并為一個(gè)PDF文件以及將一個(gè)PDF文件拆分為多個(gè)PDF文件。
創(chuàng)新互聯(lián)公司2013年至今,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項(xiàng)目成都做網(wǎng)站、網(wǎng)站建設(shè)網(wǎng)站策劃,項(xiàng)目實(shí)施與項(xiàng)目整合能力。我們以讓每一個(gè)夢(mèng)想脫穎而出為使命,1280元隴縣做網(wǎng)站,已為上家服務(wù),為隴縣各地企業(yè)和個(gè)人服務(wù),聯(lián)系電話:18982081108
合并PDF文件
合并PDF文件的代碼很簡(jiǎn)單,主要分為三步,首先獲取需要合并的PDF文件,然后調(diào)用public static PdfDocumentBase MergeFiles(string[] InputFiles)方法,將這些PDF文件合并,然后保存文件。
代碼如下:
using System; using Spire.Pdf; namespace 合并PDF文件 { class Program { static void Main(string[] args) { String[] files = new String[] { "文件1.pdf", "文件2.pdf", "文件3.pdf" }; string outputFile = "輸出.pdf"; PdfDocumentBase doc = PdfDocument.MergeFiles(files); doc.Save(outputFile, FileFormat.PDF); System.Diagnostics.Process.Start(outputFile); } } }
合并前:
合并后:
拆分PDF文件
在拆分PDF文件時(shí),我們可以選擇將文件的每一頁(yè)單獨(dú)拆分為一個(gè)PDF文件,還可以設(shè)定頁(yè)碼范圍,將其拆分為多個(gè)PDF文件。下面將分兩個(gè)部分來(lái)介紹。
一、將PDF文件的每一頁(yè)拆分為一個(gè)單獨(dú)的PDF文件
在上一個(gè)部分中,合并后的PDF文件一共有4頁(yè),這里我將它的每一頁(yè)拆分為一個(gè)單獨(dú)的PDF文件。
代碼如下:
using System; using Spire.Pdf; namespace 拆分PDF文件1 { class Program { static void Main(string[] args) { PdfDocument doc = new PdfDocument("輸出.pdf"); String pattern = "拆分-{0}.pdf"; doc.Split(pattern); doc.Close(); } } }
效果圖:
二、根據(jù)指定頁(yè)面范圍拆分PDF文件
這里我將一個(gè)18頁(yè)的PDF文件的前10頁(yè)拆分為一個(gè)PDF文件,后8頁(yè)拆分為另一個(gè)PDF文件。
代碼如下:
using System.Drawing; using Spire.Pdf; using Spire.Pdf.Graphics; namespace 拆分PDF文件2 { class Program { static void Main(string[] args) { PdfDocument pdf = new PdfDocument(); pdf.LoadFromFile("各種點(diǎn)心的做法.pdf"); PdfDocument pdf1 = new PdfDocument(); PdfPageBase page; for (int i = 0; i < 10; i++) { page = pdf1.Pages.Add(pdf.Pages[i].Size, new PdfMargins(0)); pdf.Pages[i].CreateTemplate().Draw(page, new PointF(0, 0)); } pdf1.SaveToFile("DOC_1.pdf"); PdfDocument pdf2 = new PdfDocument(); for (int i = 10; i < 18; i++) { page = pdf2.Pages.Add(pdf.Pages[i].Size, new PdfMargins(0)); pdf.Pages[i].CreateTemplate().Draw(page, new PointF(0, 0)); } pdf2.SaveToFile("DOC_2.pdf"); } } }
拆分前:
拆分后:
Note: 這里我使用了一個(gè)PDF組件Spire.PDF.
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持創(chuàng)新互聯(lián)。