基于iTextSharp库的PDF文件拆分、合并(C#)
话不多说,直接上代码。
/// <summary>/// inputFolder:待拼接文件夹/// outFile:输出拼接文件路径/// </summary>protected void CombinePDF(string inputFolder, string outFile){DirectoryInfo dirScan = new DirectoryInfo(inputFolder);FileInfo[] fileinfo = dirScan.GetFiles("*.pdf");string[] fileList = new string[fileinfo.Length];for (int i = 0; i < fileinfo.Length; i++){fileList[i] = fileinfo[i].FullName;}PdfReader reader;Document document = new Document();PdfWriter writer = PdfWriter.GetInstance(document, new FileStream(outFile, FileMode.Create));document.Open();PdfContentByte cb = writer.DirectContent;PdfImportedPage newPage;for (int i = 0; i < fileList.Length; 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>/// inputFile:待拆分文件路径/// outFolder:输出拆分文件文件夹/// </summary>protected void SplitPDF(string inputFile, string outFolder){PdfReader reader = new PdfReader(inputFile);int startPage = 1;int endPage = reader.NumberOfPages;string splitFileName = string.Empty;//按照页码遍历PDF,一页拆分一个PDFfor (int i = 1; i <= endPage; i++){Document document = new Document(reader.GetPageSizeWithRotation(startPage));splitFileName = Path.Combine(outFolder, "page_" + i + "_" + Path.GetFileName(inputFile));PdfWriter writer = PdfWriter.GetInstance(document, new FileStream(splitFileName, FileMode.Create));document.Open();PdfContentByte cb = writer.DirectContent;PdfImportedPage page;int rotation;while (startPage < i + 1){document.SetPageSize(reader.GetPageSizeWithRotation(startPage));document.NewPage();page = writer.GetImportedPage(reader, startPage);rotation = reader.GetPageRotation(startPage);if (rotation == 90 || rotation == 270){cb.AddTemplate(page, 0, -1f, 1f, 0, 0, reader.GetPageSizeWithRotation(startPage).Height);}else{cb.AddTemplate(page, 1f, 0, 0, 1f, 0, 0);}startPage++;}document.Close();}reader = null;}
基于iTextSharp库的PDF文件拆分、合并(C#)相关推荐
- PDF文件拆分合并器PDF Merge PDF Splitter + Mac
PDF Merge & PDF Splitter + Mac是专为Mac用户所提供的PDF文件拆分合并器,PDF Merge & PDF Splitter + Mac版能够为您将快速多 ...
- 基于MuPDF库实现PDF文件转换成PNG格式图片
背景 之所以会接触MuPDF是因为,有位群友在Q群里提问,如何将PDF保存为.PNG图片格式.我一看到这个问题,就蒙了,因为我没有接触过类似的项目或程序.但是,作为一群之主的我,还是要给初学者一个答复 ...
- 使用iText库创建PDF文件
前言 译文连接:http://howtodoinjava.com/apache-commons/create-pdf-files-in-java-itext-tutorial/ 对于excel文件的读 ...
- python读取pdf文档书签 bookmark_Python利用PyPDF2库获取PDF文件总页码实例
Python中可以利用PyPDF2库来获取该pdf文件的总页码,可以根据下面的方法一步步进行下去: 1.首先,要安装PyPDF2库,利用以下命令即可: pip install PyPDF2 2.接着, ...
- python读取扫描形成的pdf_Python利用PyPDF2库获取PDF文件总页码实例
Python中可以利用PyPDF2库来获取该pdf文件的总页码,可以根据下面的方法一步步进行下去: 1.首先,要安装PyPDF2库,利用以下命令即可: pip install PyPDF2 2.接着, ...
- Leadtools Document教程:如何高效将数千个 PDF 文件拆分并转换为单页图像
LEADTOOLS Document Suite SDK是LEADTOOLS SDK功能的全面集合,旨在构建需要OCR,MICR,OMR,ICR,条形码,表单识别和处理,PDF,HTML5 / Jav ...
- 多个PDF文件如何合并成一个?两种方法轻松get
在日常学习生活中,如果你需要将多个文档整合为一个完整的文件,比如说多篇文章.多张图片.多个表格等等,这时候就需要将这些文档合并成一个PDF文件.如何将多个PDF文件如何合并成一个?两种方法轻松帮你搞定 ...
- PDF文件怎么合并分割
在处理一些文档之类的资料时常常会遇到要将一些文档整理到一起,合成一个文件以便于管理或是发送,又或者是将一个大的文档中的部分页面拆分出来单独使用操作.若处理的是office文档倒还简单,但如果是PDF文 ...
- 怎么将PDF文件拆分成多个文件?2个方法帮你搞定
PDF格式在日常办公学习中经常被使用,因为它不仅易于阅读和浏览,而且文件大小相对较小,兼容性也很强.然而,有时候当PDF文件内容较多时,找到文件中重要内容可能会变得困难.为了解决这个问题,我们可以尝试 ...
- PDF文件怎么合并?这些方法快来看看
最近有个朋友找到我问,因为平时他比较喜欢在手机上看电子书,现在很多电子书下载下来都是PDF格式的文档,一部小说甚至能拆分成好几个PDF文件,每次看完一个文件可能下一个按照循序打开的文件并不能衔接上上一 ...
最新文章
- 电脑USB的超奇怪问题
- 【星球知识卡片】模型剪枝有哪些关键技术,如何对其进行长期深入学习
- vba读取csv文件到excel_利用VBA打开顺序文件,并读取
- 发现一个不错的Windows内核的相关论坛
- 让DIV中文字换行显示
- readdirectorychangesw 链接错误 undeclared identifier 解决方法
- try catch finally return的执行顺序与返回值探究
- Response.Redirect 打开这两种方法的一种新形式
- C/c++输入输出函数
- python入门容易进阶难_为什么Python入门容易,精通却很难!Python进阶之路!
- 桥式整流以及电容作用
- [乐意黎转载]GitHub上整理的一些工具集合
- switch【耀西的手工世界xic】破解xic文件下载
- ArcGIS代码进行重分类
- yylabel html不显示图片,YYLabel富文本
- 实验三——Pspice
- linux命令kp使用方法,Linux 命令 使用
- 关于canvas生成图片的方法
- Excel教程:Excel中最强大的快捷键你知道吗
- 涛思数据加入龙蜥社区,携手共建时序数据库生态