【C#】pdf文件合併

環境:VS2019 + Win10 + .NET Framework3.5

依賴於: itextsharp.dll

 

源碼,封裝接口:

        /// <summary>
        /// 合併pdf文件至輸出文件
        /// </summary>
        /// <param name="fileList">要合併的pdf文件列表(全路徑)</param>
        /// <param name="outMergeFile">輸出文件全路徑</param>
        public void mergePdfFiles(List<string> fileList, string outMergeFile)
        {
            using (var stream = new FileStream(outMergeFile, FileMode.Create))
            {
                using (var doc = new iTextSharp.text.Document())
                {
                    using (var pdf = new PdfCopy(doc, stream))
                    {
                        doc.Open();
                        fileList.ForEach(file =>
                        {
                            var reader = new PdfReader(file);
                            for (int i = 0; i < reader.NumberOfPages; i++)
                            {
                                var page = pdf.GetImportedPage(reader, i + 1);
                                pdf.AddPage(page);
                            }
                            pdf.FreeReader(reader);
                            reader.Close();
                        });
                    }
                }
            }
        }

  調用者代碼:

// using iTextSharp.text.pdf;

        /// <summary>
        /// 合併pdf文件至輸出文件
        /// </summary>
        /// <param name="fileList">要合併的pdf文件列表(全路徑)</param>
        /// <param name="outMergeFile">輸出文件全路徑</param>
        public void mergePdfFiles(List<string> fileList, string outMergeFile)
        {
            using (var stream = new FileStream(outMergeFile, FileMode.Create))
            {
                using (var doc = new iTextSharp.text.Document())
                {
                    using (var pdf = new PdfCopy(doc, stream))
                    {
                        doc.Open();
                        fileList.ForEach(file =>
                        {
                            var reader = new PdfReader(file);
                            for (int i = 0; i < reader.NumberOfPages; i++)
                            {
                                var page = pdf.GetImportedPage(reader, i + 1);
                                pdf.AddPage(page);
                            }
                            pdf.FreeReader(reader);
                            reader.Close();
                        });
                    }
                }
            }
        }

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章