溫馨提示×

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

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

C# 合并、拆分PDF文檔

發(fā)布時(shí)間:2020-08-05 21:04:53 來(lái)源:網(wǎng)絡(luò) 閱讀:2294 作者:E_iceblue 欄目:編程語(yǔ)言

在整理文件時(shí),將多個(gè)同類型文檔合并是實(shí)現(xiàn)文檔歸類的有效方法,也便于文檔管理或者文檔傳輸。當(dāng)然,也可以對(duì)一些比較大的文件進(jìn)行拆分來(lái)獲取自己想要的部分文檔??梢匀我獾貙?duì)文檔進(jìn)行合并、拆分無(wú)疑為我們了提供極大的便利。那么在C#語(yǔ)言環(huán)境中怎么來(lái)實(shí)現(xiàn)PDF文檔的和被拆分呢?下面將介紹具體的代碼操作方法。
所需工具:Free Spire.PDF for .NET、Visual Studio 2013

一、合并多個(gè)PDF文檔

using System;
using Spire.Pdf;

namespace MergePDF
{
    class Program
    {
        static void Main(string[] args)
        {
            //創(chuàng)建一組數(shù)組實(shí)例,數(shù)組元素為需要合并的多個(gè)PDF文檔的路徑
            String[] files = new String[] { "test1.pdf", "test2.pdf", "test3.pdf" };
            //調(diào)用方法MergeFiles()合并文檔
            PdfDocumentBase doc = PdfDocument.MergeFiles(files);
            //保存文檔
            doc.Save("合并.pdf", FileFormat.PDF);
        }
    }
}

C# 合并、拆分PDF文檔
C# 合并、拆分PDF文檔

注意: 這里合并的PDF文檔是以新的一頁(yè)來(lái)合并的文檔,目的不是將多個(gè)文檔合并為具有一定邏輯的文檔,而是出于方便文檔管理以及其他操作的目的來(lái)合并。

二、拆分PDF文檔

(一)按每頁(yè)來(lái)拆分

using System;
using Spire.Pdf;

namespace SplitPDF1
{
    class Program
    {
        static void Main(string[] args)
        {
            //初始化一個(gè)PdfDocument類實(shí)例,并從文件中加載需要被拆分的PDF文檔
            PdfDocument doc = new PdfDocument(@"C:\Users\Administrator\Desktop\test.pdf");

            //調(diào)用方法Split()方法將PDF文檔按頁(yè)拆分保存
            String pattern = "拆分{0}.pdf";
            doc.Split(pattern);
        }
    }
}

拆分結(jié)果:
C# 合并、拆分PDF文檔
拆分的文檔個(gè)數(shù)與原文檔頁(yè)數(shù)相同。

(二)按指定頁(yè)數(shù)拆分

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

namespace SplitPDF2
{
    class Program
    {
        static void Main(string[] args)
        {
            //創(chuàng)建一個(gè)PdfDocument類對(duì)象,并加載一個(gè)現(xiàn)有的PDF文檔
            PdfDocument pdf = new PdfDocument();
            pdf.LoadFromFile(@"C:\Users\Administrator\Desktop\測(cè)試.pdf");
            //新建1個(gè)PDF文檔
            PdfDocument pdf1 = new PdfDocument();
            PdfPageBase page;
            //將現(xiàn)有的PDF文檔的第1-5頁(yè)拆分為一個(gè)文檔
            for (int i = 0; i < 4; i++)
            {
                //向新建文檔添加與現(xiàn)有文檔頁(yè)面大小一致的頁(yè)面
                page = pdf1.Pages.Add(pdf.Pages[i].Size, new PdfMargins(0));
                //為現(xiàn)有文檔的頁(yè)面創(chuàng)建模板并將模板畫到新建文檔的頁(yè)面上
                pdf.Pages[i].CreateTemplate().Draw(page, new PointF(0, 0));
            }
            //保存文檔
            pdf1.SaveToFile("1-5.pdf");

            //新建第2個(gè)PDF文檔
            PdfDocument pdf2 = new PdfDocument();
            //將現(xiàn)有PDF文檔的第5-10頁(yè)拆分為另一個(gè)文檔
            for (int i = 4; i < 9; i++)
            {
                //向新建文檔添加與現(xiàn)有文檔頁(yè)面大小一致的頁(yè)面
                page = pdf2.Pages.Add(pdf.Pages[i].Size, new PdfMargins(0));
                //為現(xiàn)有文檔的頁(yè)面創(chuàng)建模板并將模板畫到新建文檔的頁(yè)面上
                pdf.Pages[i].CreateTemplate().Draw(page, new PointF(0, 0));
            }
            //保存文檔
            pdf2.SaveToFile("6-10.pdf");

            //新建第3個(gè)PDF文檔
            PdfDocument pdf3 = new PdfDocument();
            //將現(xiàn)有PDF文檔的第10-15頁(yè)拆分為另一個(gè)文檔
            for (int i = 9; i < 14; i++)
            {
                //向新建文檔添加與現(xiàn)有文檔頁(yè)面大小一致的頁(yè)面
                page = pdf3.Pages.Add(pdf.Pages[i].Size, new PdfMargins(0));
                //為現(xiàn)有文檔的頁(yè)面創(chuàng)建模板并將模板畫到新建文檔的頁(yè)面上
                pdf.Pages[i].CreateTemplate().Draw(page, new PointF(0, 0));
            }
            //保存文檔
            pdf2.SaveToFile("11-15.pdf");
        }
    }
}

C# 合并、拆分PDF文檔

以上內(nèi)容為本篇文章關(guān)于合并、拆分PDF文檔的方法講述。如果喜歡,歡迎轉(zhuǎn)載(轉(zhuǎn)載請(qǐng)注明出處)
感謝瀏覽。

向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