1. 程式人生 > 其它 >C# 合併PDF 下載

C# 合併PDF 下載

有很多第三方外掛,我這裡介紹的是用的iTextSharp

1.nugetiTextSharp

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.呼叫方法即可。在使用時候,發現有時候刪除,會報錯,圖片正在被程序資源佔用,釋放所有圖片資源。