iTextSharp 合并PDF后,无法删除已经合并的单个文件
2017-05-16 09:36
381 查看
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(); }
原文链接:http://blog.csdn.net/hebbers/article/details/70332015 关键点在与
PdfReader的循环释放,定义局部变量后独立释放引用并不能完全释放,需要单独循环释放。
List<PdfReader> readerList = new List<PdfReader>();
foreach (var rd in readerList) { rd.Dispose(); }
相关文章推荐
- iTextSharp 合并PDF后删除合并文件
- InfoPath Error “此文档库已经被重命名或删除,或者网络问题导致文件无法保存…” 的解决方案
- 清除已经删除的文件,让丢失的文件无法恢复
- Windows上已经删除的文件并没有消失并且再次删除却提示无法找到该项目的解决办法
- 怎样增加、删除、合并PDF文件中的页面?
- itextsharp 操作合并PDF文件
- 如何添加、删除、合并PDF文件里的页面?
- C#调用iTextSharp组件生成PDF文件, 在VS2005下已经调试通过!
- 打印pdf itext 的多个pdf合并并删除旧的pdf文件
- itextsharp 操作合并PDF文件
- 无法找到该页您正在搜索的页面可能已经删除、更名或暂时不可用。HTTP 错误 404 - 文件或目录未找到。
- iTextSharp 合并多个PDF文件
- 强行删除:windows下提示无法删除文件
- Java 合并多个 PDF 文件
- spring.net框架开发合并PDF文件程序,请大家多提宝贵意见
- 怎样恢复刚刚删除的文件(已经清空回收站)!
- Java文件流关闭和垃圾回收问题 (文件无法删除问题)
- 删除文件无法删除且提示无法访问
- pdf文件怎么删除其中一页或几页内容
- Myeclipse中文件已经上传到服务器目录下,文件也没有被占用,但是页面中无法读取和使用问题的解决方法