记录下,以便下次使用
1、使用环境和前续工作:
1)引用iTextsharp 版本:5.5.13.4 ;
项目引用--》管理NuGet程序包--》搜索itextsharp
加载与项目版本对应的。
2)本项目使用的环境是.net4.61
3)其中PDFPath 为合并的PDF清单。
4)调取方法。
var pdfname = "c:/outpdf.pdf";
MergePDFs(pdfname);
5)写PDF合并方法。
/// <summary>
/// 合并多个PDF 文件
/// </summary>
/// <param name="outputPdfPath">输出PDF文件</param>
public void MergePDFs(string outputPdfPath)
{
// 创建一个新的PdfWriter实例
using (FileStream fs = new FileStream(outputPdfPath, FileMode.Create, FileAccess.Write, FileShare.None))
{
Document pdfDoc = new Document();
var pdf = new PdfCopy(pdfDoc, fs);
// 合并每个PDF文件
foreach (string file in PDFPath)
{
// 打开现有的PDF文档
PdfReader reader = new PdfReader(file);
if (!pdfDoc.IsOpen())
{
pdfDoc.Open();
}
int n = reader.NumberOfPages;
// 将每一页添加到新的PDF文档中
for (int i = 1; i <= n; i++)
{
pdf.AddPage(pdf.GetImportedPage(reader, i));
}
pdf.FreeReader(reader);
// 关闭当前正在合并的PDF文档
reader.Close();
}
if (pdfDoc != null) pdfDoc.Close();
}
Console.WriteLine("PDFs merged successfully.");
}