iTextSharp 合并PDF后删除合并文件
2017-04-21 16:51
501 查看
问题:之前开发的一个服务中,利用iTextSharp合并PDF文件后删除合并文件,提示合并文件被占用无法删除。解决:合并时记录PdfReader到一个集合中,合并后释放PdfReader集合中的全部资源。代码:/// <summary> 合并PDF </summary>/// <param name="fileList">PDF文件集合</param>/// <param name="outMergeFile">合并文件名</param>private void MergePDFFiles(string[] fileList, string outMergeFile){List<PdfReader> readerList = new List<PdfReader>();//记录合并PDF集合iTextSharp.text.Document document = new iTextSharp.text.Document(iTextSharp.text.PageSize.A4.Rotate());PdfWriter writer = PdfWriter.GetInstance(document, new FileStream(outMergeFile, FileMode.Create));document.Open();PdfContentByte cb = writer.DirectContent;PdfImportedPage newPage;for (int i = 0; i < fileList.Length; i++){if (!string.IsNullOrEmpty(fileList[i])){PdfReader 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);}readerList.Add(reader);}}document.Close();
//释放集合资源foreach (var rd in readerList){rd.Dispose();}}
相关文章推荐
- iTextSharp 合并PDF后,无法删除已经合并的单个文件
- iTextSharp 合并多个PDF文件
- itextsharp 操作合并PDF文件
- 怎样增加、删除、合并PDF文件中的页面?
- 如何添加、删除、合并PDF文件里的页面?
- itextsharp 操作合并PDF文件
- 打印pdf itext 的多个pdf合并并删除旧的pdf文件
- 利用iTextSharp创建/修改/转换/加密PDF文件
- 利用iTextSharp把DataTable导出为PDF和RTF(Rich Text Format)文件
- 生成pdf文件的好东西,itextsharp
- 一个PDF合并操作实现类,利用iTextSharp控件实现(http://www.diybl.com/course/4_webprogram/asp.net/asp_netxl/2008109/149644.html)
- 用C# itextsharp.dll制作PDF文件全攻略
- 在不删除文件的前提下合并硬盘分区
- 用 iTextSharp 修改 PDF 文件的属性--》只能看,不能复制,列印
- .NET动态生成PDF文件(利用iTextSharp)
- iTextSharp:创建一个新pdf文件
- C#——使用iTextSharp生成pdf文件
- PDF 文件结构初探 开源iTextSharp(C#) PDFLib中Block结构分析
- 使用iTextSharp修改PDF文件(二)
- C#——使用iTextSharp生成pdf文件