C# 合并多个PDF
下载并且引用 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相关推荐
- Python实现按序合并多个pdf文件
技术交流QQ群:1027579432,欢迎你的加入! 欢迎关注我的微信公众号:CurryCoder的程序人生 1.整体实现步骤 在日常办公中,我们可能会有一个需求,需要将多个pdf文件合并成一个文件. ...
- shell换行合并多个文件_如何合并多个pdf文件?这里有合并PDF最简单的方法
如何合并多个pdf文件?今天在整理一些PDF文件的时候,由于文件的数量比较多,我就想着将这些PDF文件合并起来,好在平时也了解了一些PDF合并的方法,很快就完成了文件的合并.想到应该还有很多朋友还不知 ...
- 多个vue项目合并成一个_集美们,快看如何一步将多个PDF合并成一个PDF
之前的推文有提到,如何将多幅图片从word中提取出来.今天我们就一起来康康如何快速将多个PDF合并成一个PDF吧! 首先,我们需要一个PDF阅读器,这个阅读器可以是Foxit PDF Editor,也 ...
- java pdf合并_Java 合并、拆分PDF文档
本文将介绍如何在Java程序中合并及拆分PDF文档,合并文档时,包括合并多个不同PDF文档为一个文档,以及合并PDF文档的不同页面为一页:拆分文档是,包括将PDF文档按每一页拆分,以及按指定页数范围来 ...
- python实现拆分、合并、删除pdf
PDF(Portable Document Format),中文名称便携文档格式是我们经常会接触到的一种文件格式,文献.文档-很多都是PDF格式.它以格式稳定的优势,使得我们在打印.分享.传输过程中能 ...
- python合并多个pdf_python合并多个pdf文件
假设您有个无聊的工作,将几十个PDF文档合并成一个PDF文件. 他们每个都有封面页作为第一页,但你不希望在最终结果中重复覆盖表. 即使有有很多免费的程序来组合PDF,其中许多只是合并整个文件在一起. ...
- 如何在 Mac 上将 JPG图像合并为一个PDF
如果您想将多个 JPG 文件合并为一个 PDF,您可以使用 macOS 标配的工具来完成这一切.事实上,您只需要使用预览应用程序.对于那些不熟悉 Preview 的人,它是一款让您无需将图片和 PDF ...
- azw3转换为pdf_怎么合并几个PDF为一个?快用这个PDF转换器!
怎么合并几个PDF为一个?我们大家应该都知道怎么合并Word.Excel.PPT这些文件,可如果遇到的是PDF格式的文件,需要将多个PDF文件合并起来,很多朋友就不知道该怎么操作了.合并PDF文件其实 ...
- 多个pdf合并成一个pdf_手机里多个PDF合并成一个PDF的免费方法
工作中难免会遇上PDF格式的文件,毕竟使用PDF格式,在很多情况下是非常方便的.因为PDF格式拥有许多其他文件格式难以相比的特点,比如使用PDF格式来发送文件,不会轻易被修改,同时使用PDF格式,看起 ...
- Java 多个pdf合并成一个pdf
前言 实际开发过程中,会因实际业务原因需把多个pdf合并成一个pdf. 代码如下: import com.itextpdf.text.pdf.*; import com.itextpdf.text.D ...
最新文章
- 剑指offer_第20题_包含min函数的栈_Python
- 牛逼!原来分布式事务可以这样玩!
- 存储组件的实现思路分析及代码实现
- 蜗蜗 Linux内核芬妮下,201402 - 蜗窝科技
- c语言gcc汇编文件,[汇编]gcc生成汇编.s文件 $ gcc -Og -S sum.c /$ gcc -Og -S -masm=intel sum.c 与 反汇编 objdump...
- 关于EOF,转自新浪微博
- /dev/sda2占用100%、磁盘占用100%的怎么解决?
- c语言输入输出重定向到串口,关于printf重定向到串口的问题分析 - 全文
- 为什么Linux登录后显示“-bash-3.2#”-转
- 实验五 存储管理实验
- 【servlet】搭建servlet环境
- mysql只导出表数据_MySQL 如何只导出 指定的表 的表结构和数据 ( 转 )
- FixFox 打包xpi扩展
- 36种漂亮的CSS3网页按钮Button样式 - 改进版
- Euler formula
- 关于数据库、数据治理、AIOps的这些痛点,你需要知道! | DAMS 2020
- 常用存储器(SRAM、DRAM、NVRAM、PSRAM)简单介绍
- Autosar Configuration(五) Security之Csm配置
- 2020年茶艺师(初级)考试及茶艺师(初级)实操考试视频
- 编程参考 - va_list的定义问题