基于iTextSharp.text+iTextSharp.text.pdf 的pdf文件合并

2022/9/8 23:56:08

本文主要是介绍基于iTextSharp.text+iTextSharp.text.pdf 的pdf文件合并,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

先引用

using iTextSharp.text;
using iTextSharp.text.pdf;

 

        public static string MergePdf(List<string> list, string merFilePath, bool isDelOldFile = true)
        {
            try
            {
                List<PdfReader> pdfReaders = new List<PdfReader>();
                PdfReader reader;
                Rectangle re;
                Document document = new Document();
                PdfWriter writer = PdfWriter.GetInstance(document, new FileStream(merFilePath, FileMode.Create));
                document.Open();
                PdfContentByte cb = writer.DirectContent;
                PdfImportedPage newPage;
                for (int i = 0; i < list.Count; i++)
                {
                    reader = new PdfReader(list[i]);
                    int iPageNum = reader.NumberOfPages;
                    for (int j = 1; j <= iPageNum; j++)
                    {
                        re = reader.GetPageSize(reader.GetPageN(j)); //获取当前页面的纸张方向
                        document.SetPageSize(re); //设置新PDF当前页面的纸张方向
                        document.NewPage();
                        newPage = writer.GetImportedPage(reader, j);
                        cb.AddTemplate(newPage, 0, 0);
                    }
                    pdfReaders.Add(reader);
                }
                document.Close();
                document.Dispose();
                //循环释放 才能删除源文件
                foreach (var read in pdfReaders)
                {
                    read.Dispose();
                }
                if (isDelOldFile)
                {
                    foreach (var file in list)
                    {
                        if (System.IO.File.Exists(file)) System.IO.File.Delete(file);
                    }
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
            return merFilePath;
        }

  



这篇关于基于iTextSharp.text+iTextSharp.text.pdf 的pdf文件合并的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程