iTextSharp 合并PDF后,无法删除已经合并的单个文件

 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();

  

1             foreach (var rd in readerList)
2             {
3                 rd.Dispose();
4             }  

原文链接:http://blog.csdn.net/hebbers/article/details/70332015 关键点在与

PdfReader的循环释放,定义局部变量后独立释放引用并不能完全释放,需要单独循环释放。
  List<PdfReader> readerList = new List<PdfReader>();
    foreach (var rd in readerList)
             {
               rd.Dispose();
             }  
时间: 2024-11-03 05:27:55

iTextSharp 合并PDF后,无法删除已经合并的单个文件的相关文章

基于iTextSharp的PDF操作(PDF打印,PDF下载)

准备 1. iTextSharp的简介 iTextSharp是一个移植于java平台的iText项目,被封装成c#的组件来用于C#生成PDF文档,目前,也有不少操作PDF的类库,(国产的有福盺的,免费试用,用于商业用途收费)但是功能普遍没有iText强大,而且使用没有iText广泛.还有他就是开源的.目前比较新的是5.5版本的. 2. 使用工具 硬件: PC机:一台 软件: Windows操作系统 Isual studio 2013  (可以是任意版本) .Net frameWork 4.5  

C#使用ITextSharp操作pdf

在.NET中没有很好操作pdf的类库,如果你需要对pdf进行编辑,加密,模板打印等等都可以选择使用ITextSharp来实现. 第一步:可以点击这里下载,新版本的插件升级和之前对比主要做了这几项重大改变 1.初始化对汉字的支持 2.对页眉页脚的加载形式 第二步:制作pdf模板 可以下载Adobe Acrobat DC等任意一款pdf编辑工具,视图--工具--准备表单,可以在需要赋值的地方放上一个文本框,可以把名称修改为有意义的名称,后面在赋值时要用到. 第三步:建项目引入各个操作类 介于前段时间

合并PDF(Merge PDF)

插件介绍: 想必各位小伙伴们都会遇到这样的情况,在网上下载资料的时候,本来是完整的,下载完成后却被分成了几个部分,如果把这几个部分合成一个PDF文件,那么不管是阅读还是管理都会更方便,今天就给大家介绍这个合成PDF的插件.Smallpdf的PDF合并工具运行您免费在线合并PDF文件. 拖放或上传多个PDF文件,当文件正上传中,您可预备工作.一旦您满意该效果,即可生成PDF,然后该文件将自动下载至您的硬件. 使用说明: 将合并PDF(Merge PDF)添加至chrome,并在扩展器中启动它. 功

利用itextsharp导出pdf

在项目中,客户要求把一些表格导出pdf格式,在网上找了好久终于发现一个完美的解决方案,利用itextsharp可以很方便的导出pdf文件,不说太多了,直接上图,有图有真相 首先是页面图片 然后是导出的pdf图片 导出pdf代码如下: //导出Mold pdf文档 public void exportpdf_Mold(string quotenum, string fullpath) { string pdfName = quotenum + ".pdf"; string savePat

ITextSharp导出PDF表格和图片(C#)

文章主要介绍使用ITextSharp导出PDF表格和图片的简单操作说明,以下为ITextSharp.dll下载链接 分享链接:http://pan.baidu.com/s/1nuc6glj 密码:3gxw 一.流程                                                                                                                                  二.简单实例: 1)创建表

用itextsharp打印pdf示例

学习了用itextsharp输出PDF文档,支持用XML定义文档,可定义多个数据源,简单的表达式,用于项目中效果还不错,其中PdfPageEvent类由包大人提供. 示例程序定义了一个简单的xml文件,如图: 输出的PDF文档,如图: ------------------------华丽的分隔线----------------------------- 定义PDF打印的Xml格式说明 参考示例:合同PDF打印,SettingItem表 /Application/Wxht/PdfSetting P

iTextSharp导出Pdf报错 Element not allowed

今天做iTextSharp做PDF导出 突然报错Element not allowed 于是开始检查各个地方,和自己以前写的Demo相比没有什么问题啊,最后发现报错 XMLWorkerHelper.GetInstance().ParseXHtml(writer, doc, msInput, null, Encoding.UTF8, new UnicodeFontFactory());这个地方,然后查看了后台, 同时写了一个Table测试也是正常的.于是只能删除节点一个一个测试,发现原来 iTex

基于iTextSharp的PDF文档操作

公司是跨境电商,需要和各种物流打交道,需要把东西交给物流,让他们发到世界各地.其中需要物流公司提供一个运单号,来追踪货物到达哪里?! 最近在和DHL物流公司(应该是个大公司)对接,取运单号的方式是调用对方提供的API,简单说,就是我们传一些发货地址和客户信息,要发的货物等,对方返回一个运单号和物流面单(就是我们淘宝快递上的面单).过程呢,还是比较顺利的,经过一系列沟通,最终还是实现了功能 下面还是说说没有实现的功能,如果都实现了,也不用写这篇博客了.不足之处在于DHL提供的面单,没有提供要拣哪些

使用Python批量合并PDF文件(带书签功能)

网上找了几个合并pdf的软件,发现不是很好用,一般都没有添加书签的功能. 在网上查找了python合并pdf的脚本,发现也没有添加书签的功能.于是自己动手编写了一个小工具,代码如下: 1 #!/usr/bin/env python3 2 # -*- coding: utf-8 -*- 3 ''' 4 #文件名:pdfmerge.py 5 本脚本用来合并pdf文件,输出的pdf文件按输入的pdf文件名生成书签 6 使用示例如下: 7 python pdfmerge.py -p "D:\pdf-fi