C#递归合并PDF文件
情景:在某文件夹下有多个子文件夹,每个子文件夹中有多个PDF文件,分别将子文件夹下的PDF合并,并将合并的PDF命名为子文件夹名称,然后存在该子文件夹中。
由于文件夹下还有文件夹,因此需要用递归方法判定该文件夹下是否有PDF文件
using System;
using System.Collections.Generic;
using System.Text;
using System.IO;
using iTextSharp.text;
using iTextSharp.text.pdf; //引用的程序集namespace beichuan
{class PDF123{// 合并PDF并修改合并后的文件名为文件所在文件夹名称// 文件夹下有多个多级子文件夹,最终文件夹下为两个pdf文件// filepath:根目录public void director(string filepath){//绑定到指定的文件夹目录DirectoryInfo dir = new DirectoryInfo(filepath);//检索表示当前目录的文件和子目录FileSystemInfo[] fsinfos = dir.GetFileSystemInfos();//遍历检索的文件和子目录List<string> fileList = new List<string>();foreach (FileSystemInfo fsinfo in fsinfos){//判断是否为空文件夹 if (fsinfo is DirectoryInfo){//递归调用director(fsinfo.FullName);}else{//将得到的文件全路径放入到集合中fileList.Add(fsinfo.FullName);string[] dirName = fileList[0].Split('\\');string outMergeFile = Path.GetDirectoryName(fileList[0]) + "\\" + dirName[dirName.Length - 2] + ".pdf";PdfReader reader;Rectangle re;Document document = new Document();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++){re = reader.GetPageSize(reader.GetPageN(j)); //获取当前页面的纸张方向document.SetPageSize(re); //设置新PDF当前页面的纸张方向document.NewPage();newPage = writer.GetImportedPage(reader, j);cb.AddTemplate(newPage, 0, 0);}}document.Close();}}}}
}
C#递归合并PDF文件相关推荐
- python合并pdf 加书签_使用Python批量合并PDF文件(带书签功能)
1 #!/usr/bin/env python3 2 #-*- coding: utf-8 -*- 3 ''' 4 #文件名:pdfmerge.py5 本脚本用来合并pdf文件,输出的pdf文件按输入 ...
- mac怎么合并两个容器_PDF怎样合并?在Mac上合并PDF文件的最佳方法
在保存编辑内容的同时合并PDF文件可能是一个大问题.合并大文件时,"预览"不涵盖展平,并且会使系统变慢.这些和其他问题可能会迫使您寻找更好的选择.让我们探索在Mac上组合PDF以涵 ...
- Java合并pdf文件
Java合并pdf文件 今天帮老师整理资料需要合并pdf文件,下了许多软件发现都需要VIP才行,所以写了个程序来帮助合并,直接在主程序中修改文件路径即可,如下图: 主要代码如下: package co ...
- 页面显示pdf_PDF怎样合并?在Mac上合并PDF文件的最佳方法
在保存编辑内容的同时合并PDF文件可能是一个大问题.合并大文件时,"预览"不涵盖展平,并且会使系统变慢.这些和其他问题可能会迫使您寻找更好的选择.让我们探索在Mac上组合PDF以涵 ...
- 电脑上怎么做pdf文件_怎么合并PDF文件?PDF合并软件哪个好?
怎么合并PDF文件?很多人现在在工作中都会使用到PDF格式的文件.在传输这些PDF文件时,如果一张一张的发送速度会很慢,也会给文件接收者造成麻烦.遇到这种情况时,我们最好将这些PDF文件先合并起来.P ...
- 合并PDF文件什么方法很简单?看完你就明白了
想要将几个PDF文件合并到一起,什么方法使用起来是很简单的呢?PDF文件作为大家经常使用的文件之一,对它的编辑需求也很多,除了需要编辑文件的内容之外,还有需要将几个文件合并到一起使用的需求.那么我们如 ...
- ImageMagick convert多张照片JPG转成pdf格式,pdfunite合并PDF文件
在认识ImageMagick之前,我***的图像浏览软件是KuickShow,截图软件是KSnapShot,这两款软件都是KDE附带的软件,用起来也是蛮方便的.在一次偶然的机会中,我遇到了ImageM ...
- 如何合并pdf文件?多pdf文件合并技能分享
如何合并pdf文件?现在是无纸化办公的时代,我们编写和处理文件都是在电脑上完成,pdf因为其独特的特点(如稳定性)成为我们经常使用的一种文件格式,越来越多的人喜欢使用pdf文档.我们也经常从网上下载到 ...
- java 合并pdf报错,[Java教程]java合并PDF文件
[Java教程]java合并PDF文件 0 2017-02-22 12:00:52 使用java代码合并PDF文件需要导入iText-2.1.7.jar包1 import java.io.FileOu ...
最新文章
- 股票投资--中线篇(转)
- ccf-csp #201703-2 学生排队
- 仔细想了想支持向量机(Support Vector Mechine)
- rust(68)-rust enum
- php通过MongoClient扩展连接mongodb库的两点建议
- 10-1 5-1 查询销售便携式电脑但不销售PC的厂商 (20 分)(分析+详解)
- Effective Java~9. try-with-resource 优先于 try-catch
- html5 拖放游戏,HTML5拖放API实现拖放排序的实例代码
- 计算机组成原理实验单周期处理,计算机组成原理实验报告1-单周期.doc
- ssis 链接mysql_SSIS 连接数据
- python中class什么意思_python class是什么
- 内部 CA 证书管理
- JAVA:实现PigeonholeSort鸽巢排序算法(附完整源码)
- HTML 代码混淆与压缩
- 我总结的30条架构原则~
- ASP.Net: EshineASPNet教程-支付机构支付模块
- 可追踪评估模型TAM的评估
- IOS 插屏广告弹窗
- 免费领取百度云盘2048G永久空间,永久离线下载特权
- KL-MPLC无人值守系统
热门文章
- 《AutoCAD Advanced 3D Modeling》学习笔记
- 进程号一直在变,怎么杀死程序?
- 【知识兔】Word教程小技巧之如何实现Word中的表格求和
- Windows10企业版下载与安装教程
- vb.net 教程 3-4 窗体编程 公共控件9 ListView 6
- 武汉python培训机构有哪些
- 单片机升降机c语言程序,基于单片机的货运升降机控制系统设计
- pureref 平移用不了_参考图管理神器PureRef使用教程(附注册机)
- SEER流量众筹模块开发测试网络及使用文档发布
- Android开发 指纹识别