下载并且引用 iTextSharp.dll 引用命名空间:using System.Collections.Generic;
using System.IO;
using iTextSharp.text;
using iTextSharp.text.pdf;namespace Oil.Main.Utility
{class PdfHelper{/// <summary>/// 读取合并的pdf文件名称/// </summary>/// <param name="Directorypath">目录</param>/// <param name="outpath">导出的路径</param>public static void MergePDF(string Directorypath, string outpath){List<string> filelist2 = new List<string>();System.IO.DirectoryInfo di2 = new System.IO.DirectoryInfo(Directorypath);FileInfo[] ff2 = di2.GetFiles("*.pdf");BubbleSort(ff2);foreach (FileInfo temp in ff2){filelist2.Add(Directorypath + "\\" + temp.Name);}mergePDFFiles(filelist2, outpath);DeleteAllPdf(Directorypath);}/// <summary>/// 冒泡排序/// </summary>/// <param name="arr">文件名数组</param>public static void BubbleSort(FileInfo[] arr){for (int i = 0; i < arr.Length; i++){for (int j = i; j < arr.Length; j++){if (arr[i].LastWriteTime > arr[j].LastWriteTime)//按创建时间(升序){FileInfo temp = arr[i];arr[i] = arr[j];arr[j] = temp;}}}}/// <summary>/// 合成pdf文件/// </summary>/// <param name="fileList">文件名list</param>/// <param name="outMergeFile">输出路径</param>public static void mergePDFFiles(List<string> fileList, string outMergeFile){PdfReader reader;Rectangle rec = new Rectangle(1660, 1000);Document document = new Document(rec);PdfWriter writer = PdfWriter.GetInstance(document, new FileStream(outMergeFile, FileMode.Create));document.Open();PdfContentByte cb = writer.DirectContent;PdfImportedPage newPage;for (int i = 0; i < fileList.Count; i++){reader = new PdfReader(fileList[i]);int iPageNum = reader.NumberOfPages;for (int j = 1; j <= iPageNum; j++){document.NewPage();newPage = writer.GetImportedPage(reader, j);cb.AddTemplate(newPage, 0, 0);}}document.Close();}/// <summary>/// 删除一个文件里所有的文件/// </summary>/// <param name="Directorypath">文件夹路径</param>public static void DeleteAllPdf(string Directorypath){System.IO.DirectoryInfo di = new System.IO.DirectoryInfo(Directorypath);if (di.Exists){FileInfo[] ff = di.GetFiles("*.pdf");foreach (FileInfo temp in ff){File.Delete(Directorypath + "\\" + temp.Name);}}}}
}

C# 合并多个PDF相关推荐

  1. Python实现按序合并多个pdf文件

    技术交流QQ群:1027579432,欢迎你的加入! 欢迎关注我的微信公众号:CurryCoder的程序人生 1.整体实现步骤 在日常办公中,我们可能会有一个需求,需要将多个pdf文件合并成一个文件. ...

  2. shell换行合并多个文件_如何合并多个pdf文件?这里有合并PDF最简单的方法

    如何合并多个pdf文件?今天在整理一些PDF文件的时候,由于文件的数量比较多,我就想着将这些PDF文件合并起来,好在平时也了解了一些PDF合并的方法,很快就完成了文件的合并.想到应该还有很多朋友还不知 ...

  3. 多个vue项目合并成一个_集美们,快看如何一步将多个PDF合并成一个PDF

    之前的推文有提到,如何将多幅图片从word中提取出来.今天我们就一起来康康如何快速将多个PDF合并成一个PDF吧! 首先,我们需要一个PDF阅读器,这个阅读器可以是Foxit PDF Editor,也 ...

  4. java pdf合并_Java 合并、拆分PDF文档

    本文将介绍如何在Java程序中合并及拆分PDF文档,合并文档时,包括合并多个不同PDF文档为一个文档,以及合并PDF文档的不同页面为一页:拆分文档是,包括将PDF文档按每一页拆分,以及按指定页数范围来 ...

  5. python实现拆分、合并、删除pdf

    PDF(Portable Document Format),中文名称便携文档格式是我们经常会接触到的一种文件格式,文献.文档-很多都是PDF格式.它以格式稳定的优势,使得我们在打印.分享.传输过程中能 ...

  6. python合并多个pdf_python合并多个pdf文件

    假设您有个无聊的工作,将几十个PDF文档合并成一个PDF文件. 他们每个都有封面页作为第一页,但你不希望在最终结果中重复覆盖表. 即使有有很多免费的程序来组合PDF,其中许多只是合并整个文件在一起. ...

  7. 如何在 Mac 上将 JPG图像合并为一个PDF

    如果您想将多个 JPG 文件合并为一个 PDF,您可以使用 macOS 标配的工具来完成这一切.事实上,您只需要使用预览应用程序.对于那些不熟悉 Preview 的人,它是一款让您无需将图片和 PDF ...

  8. azw3转换为pdf_怎么合并几个PDF为一个?快用这个PDF转换器!

    怎么合并几个PDF为一个?我们大家应该都知道怎么合并Word.Excel.PPT这些文件,可如果遇到的是PDF格式的文件,需要将多个PDF文件合并起来,很多朋友就不知道该怎么操作了.合并PDF文件其实 ...

  9. 多个pdf合并成一个pdf_手机里多个PDF合并成一个PDF的免费方法

    工作中难免会遇上PDF格式的文件,毕竟使用PDF格式,在很多情况下是非常方便的.因为PDF格式拥有许多其他文件格式难以相比的特点,比如使用PDF格式来发送文件,不会轻易被修改,同时使用PDF格式,看起 ...

  10. Java 多个pdf合并成一个pdf

    前言 实际开发过程中,会因实际业务原因需把多个pdf合并成一个pdf. 代码如下: import com.itextpdf.text.pdf.*; import com.itextpdf.text.D ...

最新文章

  1. 剑指offer_第20题_包含min函数的栈_Python
  2. 牛逼!原来分布式事务可以这样玩!
  3. 存储组件的实现思路分析及代码实现
  4. 蜗蜗 Linux内核芬妮下,201402 - 蜗窝科技
  5. c语言gcc汇编文件,[汇编]gcc生成汇编.s文件 $ gcc -Og -S sum.c /$ gcc -Og -S -masm=intel sum.c 与 反汇编 objdump...
  6. 关于EOF,转自新浪微博
  7. /dev/sda2占用100%、磁盘占用100%的怎么解决?
  8. c语言输入输出重定向到串口,关于printf重定向到串口的问题分析 - 全文
  9. 为什么Linux登录后显示“-bash-3.2#”-转
  10. 实验五 存储管理实验
  11. 【servlet】搭建servlet环境
  12. mysql只导出表数据_MySQL 如何只导出 指定的表 的表结构和数据 ( 转 )
  13. FixFox 打包xpi扩展
  14. 36种漂亮的CSS3网页按钮Button样式 - 改进版
  15. Euler formula
  16. 关于数据库、数据治理、AIOps的这些痛点,你需要知道! | DAMS 2020
  17. 常用存储器(SRAM、DRAM、NVRAM、PSRAM)简单介绍
  18. Autosar Configuration(五) Security之Csm配置
  19. 2020年茶艺师(初级)考试及茶艺师(初级)实操考试视频
  20. 编程参考 - va_list的定义问题

热门文章

  1. python博弈论代码_博弈论(示例代码)
  2. QQ空间密码破解技术
  3. 树莓派专用msata硬盘转接板
  4. FL Studio 20.9水果编曲软件中文汉化补丁包
  5. java优先级 六级和七级_百度知道六级和七级得区别是什么?如何升到七级?
  6. 推荐-最新1000多个单机游戏下载,不用注册直接下载!(3)
  7. EasyUI仓库管理系统
  8. 如何搭建视频点播服务
  9. js获取用户使用的设备类型及平台
  10. 尔雅 科学通史(吴国盛) 个人笔记及课后习题 2018 第四章 中国独立发展的科技文明