iText7 是 iText 强大的 PDF 工具包的最新版本,用于 PDF 生成、PDF 编程、处理和操作,以下是在.net中使用iText7实现pdf文档合并的简单过程:
- 添加NuGet包引用:添加itext7和itext7.bouncy-castle-adapter,后者必须进行添加,否则会在运行报错。
- 代码如下,其中要合并的所有pdf文件路径以数组的形式传入,合并后输出到outFile文件路径中。
/// <summary>
/// 合并多个PDF文档
/// NuGet包为iText7,该库满足跨平台需求
/// </summary>
/// <param name="fileList"></param>
/// <param name="outFile"></param>
/// <returns></returns>
public Task MergePdf(string[] fileList, string outFile)
{
PdfDocument pdf = null;
try
{
PdfWriter writer = new PdfWriter(outFile);
pdf = new PdfDocument(writer);
PdfMerger merger = new PdfMerger(pdf);
for (int i = 0; i < fileList.Length; i++)
{
PdfReader reader = new PdfReader(fileList[i]);
PdfDocument pdfDocument = new PdfDocument(reader);
merger.Merge(pdfDocument, 1, pdfDocument.GetNumberOfPages());
pdfDocument.Close();
}
merger.Close();
pdf.Close();
}
catch (Exception e)
{
throw;
}
finally
{
if (pdf != null)
pdf.Close();
}
return Task.CompletedTask;
}