【C#】pdf文件合并
2023-04-18 15:33:44 时间
环境:VS2019 + Win10 + .NET Framework3.5
依赖于: itextsharp.dll
源码,封装接口:
/// <summary> /// 合并pdf文件至输出文件 /// </summary> /// <param name="fileList">要合并的pdf文件列表(全路径)</param> /// <param name="outMergeFile">输出文件全路径</param> public void mergePdfFiles(List<string> fileList, string outMergeFile) { using (var stream = new FileStream(outMergeFile, FileMode.Create)) { using (var doc = new iTextSharp.text.Document()) { using (var pdf = new PdfCopy(doc, stream)) { doc.Open(); fileList.ForEach(file => { var reader = new PdfReader(file); for (int i = 0; i < reader.NumberOfPages; i++) { var page = pdf.GetImportedPage(reader, i + 1); pdf.AddPage(page); } pdf.FreeReader(reader); reader.Close(); }); } } } }
调用者代码:
// using iTextSharp.text.pdf; /// <summary> /// 合并pdf文件至输出文件 /// </summary> /// <param name="fileList">要合并的pdf文件列表(全路径)</param> /// <param name="outMergeFile">输出文件全路径</param> public void mergePdfFiles(List<string> fileList, string outMergeFile) { using (var stream = new FileStream(outMergeFile, FileMode.Create)) { using (var doc = new iTextSharp.text.Document()) { using (var pdf = new PdfCopy(doc, stream)) { doc.Open(); fileList.ForEach(file => { var reader = new PdfReader(file); for (int i = 0; i < reader.NumberOfPages; i++) { var page = pdf.GetImportedPage(reader, i + 1); pdf.AddPage(page); } pdf.FreeReader(reader); reader.Close(); }); } } } }
相关文章
- 如何实现马尔可夫链蒙特卡罗MCMC模型、Metropolis算法?
- 最新!Log4j 2.x 再发版,正式解决核弹级漏洞,又要熬夜了。。。
- PCA(主成分分析),CA(对应分析)夫妻职业差异和马赛克图可视化
- Linux网络编程基础API
- 双向循环链表(DoubleLoopLinkList)
- 1214 最新!Log4j 再发版,彻底斩断核弹级漏洞,又要熬夜了。。。
- 双向链表(DoubleLinkList)
- 选择、插入排序、sort
- 优先队列(PriorityQueue)
- Spring开源脚手架介绍
- 基于UDP的服务器端/客户端
- IPv4地址的结构体与网络字节序
- 实现基于TCP的服务端/客户端
- C++一些例子
- 【TcaplusDB知识库】修改业务修改集群cluster
- 【TcaplusDB知识库】查看tcapdir目录服务器务器
- 【TcaplusDB知识库】查看业务密码
- 【TcaplusDB知识库】批量复制游戏区
- Spring认证中国教育管理中心-Apache Cassandra 的 Spring 数据教程七
- 【TcaplusDB知识库】如何新建游戏区新建表格组table group