手记

C# 合并、拆分多个PDF文档

在整理文件时,将多个同类型文档合并是实现文档归类的有效方法,也便于文档管理或者文档传输。当然,也可以对一些比较大的文件进行拆分来获取自己想要的部分文档。下面将通过C#代码示例介绍如何将多个PDF文档合并为一个,以及将一个PDF文档拆分为多个PDF文档。

使用工具


C# 代码示例(供参考)

【示例1】合并多个PDF文档

using System;
using Spire.Pdf; 
namespace MergePDF
{    
  class Program
    {       
       static void Main(string[] args)        
         {            
           //创建一组数组实例,数组元素为需要合并的多个PDF文档的路径            
           String[] files = new String[] { "test1.pdf", "test2.pdf", "test3.pdf" };            
           
           //调用方法MergeFiles()合并文档            
           PdfDocumentBase doc = PdfDocument.MergeFiles(files);            
           
           //保存文档            
           doc.Save("合并.pdf", FileFormat.PDF);        
           }
      }
}

【示例2】拆分PDF文档

(一)按每页来拆分

using System;
using Spire.Pdf; 
namespace SplitPDF1
{    
  class Program    
    {        
       static void Main(string[] args)        
         {            
          //初始化一个PdfDocument类实例,并从文件中加载需要被拆分的PDF文档            
          PdfDocument doc = new PdfDocument(@"C:\Users\Administrator\Desktop\test.pdf");             
          
          //调用方法Split()方法将PDF文档按页拆分保存            
          String pattern = "拆分{0}.pdf";            
          doc.Split(pattern);        
          }    
     }
}

拆分结果:

拆分的文档个数与原文档页数相同。

(二)按指定页数拆分

using Spire.Pdf;
using Spire.Pdf.Graphics;
using System.Drawing; 
namespace SplitPDF2
{    
   class Program    
      {        
          static void Main(string[] args)        
            {            
            //创建一个PdfDocument类对象,并加载一个现有的PDF文档            
            PdfDocument pdf = new PdfDocument();            
            pdf.LoadFromFile(@"C:\Users\Administrator\Desktop\测试.pdf");            
            
            //新建1个PDF文档            
            PdfDocument pdf1 = new PdfDocument();            
            PdfPageBase page;                    
            //将现有的PDF文档的第1-5页拆分为一个文档            
            for (int i = 0; i < 4; i++)            
             {                
              //向新建文档添加与现有文档页面大小一致的页面                
              page = pdf1.Pages.Add(pdf.Pages[i].Size, new PdfMargins(0));                
              //为现有文档的页面创建模板并将模板画到新建文档的页面上                
              pdf.Pages[i].CreateTemplate().Draw(page, new PointF(0, 0));           
               }            
               //保存文档            
               pdf1.SaveToFile("1-5.pdf");             
               
               //新建第2个PDF文档            
               PdfDocument pdf2 = new PdfDocument();            
               //将现有PDF文档的第5-10页拆分为另一个文档            
               for (int i = 4; i < 9; i++)            
                {                
                 //向新建文档添加与现有文档页面大小一致的页面                
                 page = pdf2.Pages.Add(pdf.Pages[i].Size, new PdfMargins(0));                
                 //为现有文档的页面创建模板并将模板画到新建文档的页面上                
                 pdf.Pages[i].CreateTemplate().Draw(page, new PointF(0, 0));            
                 }            
                 //保存文档            
                 pdf2.SaveToFile("6-10.pdf");             
                 
                 //新建第3个PDF文档            
                 PdfDocument pdf3 = new PdfDocument();            
                 //将现有PDF文档的第10-15页拆分为另一个文档            
                 for (int i = 9; i < 14; i++)            
                 {                
                  //向新建文档添加与现有文档页面大小一致的页面                
                   page = pdf3.Pages.Add(pdf.Pages[i].Size, new PdfMargins(0));                
                  //为现有文档的页面创建模板并将模板画到新建文档的页面上                
                   pdf.Pages[i].CreateTemplate().Draw(page, new PointF(0, 0));            
                   }           
                   //保存文档            
                   pdf3.SaveToFile("11-15.pdf");        
                  }    
             }
        }


阅读拓展:C#合并、拆分PDF文档(视频教程)

(本文完)


1人推荐
随时随地看视频
慕课网APP