有時(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文件。
合并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í)有所幫助,也希望大家多多支持VEVB武林網(wǎng)。
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注