C# 合并PDF 下载

有很多第三方插件,我这里介绍的是用的iTextSharp

1.nuget iTextSharp

 

 2.写个方法 

fileList  pdf数组
outMergeFile 导出合并PDF路径
  public void mergePDFFiles(List<string> fileList, string outMergeFile)
        {

            List<PdfReader> readerList = new List<PdfReader>();//记录合并PDF集合
            //Rectangle rec = new Rectangle(1660, 1000);
            Rectangle rec = new Rectangle(0, 0, 615, 395);
            //创建一个新的文档对象
            Document document = new Document(rec);
            //保存文档的地址设置
            FileStream output = new FileStream(outMergeFile, FileMode.Create);
            PdfWriter writer = PdfWriter.GetInstance(document, output);
            document.Open();
            PdfContentByte cb = writer.DirectContent;
            PdfImportedPage newPage;
            //循环读取文件
            for (int i = 0; i < fileList.Count; i++)
            {
                PdfReader reader = new PdfReader(fileList[i]);
                int iPageNum = reader.NumberOfPages;
                for (int j = 1; j <= iPageNum; j++)
                {
                    document.NewPage();
                    //PdfImportedPage newPage = writer.GetImportedPage(reader, j);
                    newPage = writer.GetImportedPage(reader, j);
                    cb.AddTemplate(newPage, 0, 0);
                }
                readerList.Add(reader);
            }
            document.Close();
            writer.Close();
            output.Close();
            foreach (var item in readerList)
            {
                item.Close();
                item.Dispose();
            }
        }

  3.调用方法即可。在使用时候,发现有时候删除,会报错,图片正在被进程资源占用,释放所有图片资源。

posted @ 2021-06-11 13:49  波小白  阅读(168)  评论(0编辑  收藏  举报