查看: 1822|回复: 0

[.NET开发] C# 合并、拆分PDF文档

发表于 2018-3-6 08:00:00

在整理文件时,将多个同类型文档合并是实现文档归类的有效方法,也便于文档管理或者文档传输。当然,也可以对一些比较大的文件进行拆分来获取自己想要的部分文档。可以任意地对文档进行合并、拆分无疑为我们了提供极大的便利。那么在C#语言环境中怎么来实现PDF文档的和被拆分呢?下面将介绍具体的代码操作方法。
所需工具:Free Spire.PDF for .NET、Visual Studio 2013

一、合并多个PDF文档
  1. using System;
  2. using Spire.Pdf;
  3. namespace MergePDF
  4. {
  5. class Program
  6. {
  7. static void Main(string[] args)
  8. {
  9. //创建一组数组实例,数组元素为需要合并的多个PDF文档的路径
  10. String[] files = new String[] { "test1.pdf", "test2.pdf", "test3.pdf" };
  11. //调用方法MergeFiles()合并文档
  12. PdfDocumentBase doc = PdfDocument.MergeFiles(files);
  13. //保存文档
  14. doc.Save("合并.pdf", FileFormat.PDF);
  15. }
  16. }
  17. }
复制代码

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

注意: 这里合并的PDF文档是以新的一页来合并的文档,目的不是将多个文档合并为具有一定逻辑的文档,而是出于方便文档管理以及其他操作的目的来合并。

二、拆分PDF文档 (一)按每页来拆分
  1. using System;
  2. using Spire.Pdf;
  3. namespace SplitPDF1
  4. {
  5. class Program
  6. {
  7. static void Main(string[] args)
  8. {
  9. //初始化一个PdfDocument类实例,并从文件中加载需要被拆分的PDF文档
  10. PdfDocument doc = new PdfDocument(@"C:\Users\Administrator\Desktop\test.pdf");
  11. //调用方法Split()方法将PDF文档按页拆分保存
  12. String pattern = "拆分{0}.pdf";
  13. doc.Split(pattern);
  14. }
  15. }
  16. }
复制代码

拆分结果:
C# 合并、拆分PDF文档
拆分的文档个数与原文档页数相同。

(二)按指定页数拆分
  1. using Spire.Pdf;
  2. using Spire.Pdf.Graphics;
  3. using System.Drawing;
  4. namespace SplitPDF2
  5. {
  6. class Program
  7. {
  8. static void Main(string[] args)
  9. {
  10. //创建一个PdfDocument类对象,并加载一个现有的PDF文档
  11. PdfDocument pdf = new PdfDocument();
  12. pdf.LoadFromFile(@"C:\Users\Administrator\Desktop\测试.pdf");
  13. //新建1个PDF文档
  14. PdfDocument pdf1 = new PdfDocument();
  15. PdfPageBase page;
  16. //将现有的PDF文档的第1-5页拆分为一个文档
  17. for (int i = 0; i < 4; i++)
  18. {
  19. //向新建文档添加与现有文档页面大小一致的页面
  20. page = pdf1.Pages.Add(pdf.Pages[i].Size, new PdfMargins(0));
  21. //为现有文档的页面创建模板并将模板画到新建文档的页面上
  22. pdf.Pages[i].CreateTemplate().Draw(page, new PointF(0, 0));
  23. }
  24. //保存文档
  25. pdf1.SaveToFile("1-5.pdf");
  26. //新建第2个PDF文档
  27. PdfDocument pdf2 = new PdfDocument();
  28. //将现有PDF文档的第5-10页拆分为另一个文档
  29. for (int i = 4; i < 9; i++)
  30. {
  31. //向新建文档添加与现有文档页面大小一致的页面
  32. page = pdf2.Pages.Add(pdf.Pages[i].Size, new PdfMargins(0));
  33. //为现有文档的页面创建模板并将模板画到新建文档的页面上
  34. pdf.Pages[i].CreateTemplate().Draw(page, new PointF(0, 0));
  35. }
  36. //保存文档
  37. pdf2.SaveToFile("6-10.pdf");
  38. //新建第3个PDF文档
  39. PdfDocument pdf3 = new PdfDocument();
  40. //将现有PDF文档的第10-15页拆分为另一个文档
  41. for (int i = 9; i < 14; i++)
  42. {
  43. //向新建文档添加与现有文档页面大小一致的页面
  44. page = pdf3.Pages.Add(pdf.Pages[i].Size, new PdfMargins(0));
  45. //为现有文档的页面创建模板并将模板画到新建文档的页面上
  46. pdf.Pages[i].CreateTemplate().Draw(page, new PointF(0, 0));
  47. }
  48. //保存文档
  49. pdf2.SaveToFile("11-15.pdf");
  50. }
  51. }
  52. }
复制代码

C# 合并、拆分PDF文档

以上内容为本篇文章关于合并、拆分PDF文档的方法讲述。如果喜欢,欢迎转载(转载请注明出处)
感谢浏览。



回复

使用道具 举报