是的,iText 是一个用于处理 PDF 文件的库,它支持多种编程语言,包括 C#。在 C# 中,你可以使用 iTextSharp 或 iText 7(较新的版本)来合并 PDF 文件。
以下是一个使用 iTextSharp 合并 PDF 文件的简单示例:
using System;
using System.IO;
using iTextSharp.text;
using iTextSharp.text.pdf;
namespace MergePdfFiles
{
class Program
{
static void Main(string[] args)
{
// 合并 PDF 文件路径列表
string[] pdfFiles = { "file1.pdf", "file2.pdf", "file3.pdf" };
// 合并后的 PDF 文件输出路径
string outputPdf = "merged.pdf";
// 创建一个 PDFWriter 实例
PdfWriter writer = new PdfWriter(outputPdf);
// 创建一个 PDFDocument 实例
PdfDocument pdfDoc = new PdfDocument(writer);
// 遍历 PDF 文件路径列表,将每个 PDF 文件添加到合并后的 PDF 文档中
foreach (string pdfFile in pdfFiles)
{
// 创建一个 PdfReader 实例
PdfReader reader = new PdfReader(pdfFile);
// 将当前 PDF 文档的所有页面添加到合并后的 PDF 文档中
pdfDoc.AddPage(pdfDoc.GetImportedPage(reader, 1));
// 关闭 PdfReader 实例
reader.Close();
}
// 关闭 PDFDocument 和 PdfWriter 实例
pdfDoc.Close();
writer.Close();
Console.WriteLine("PDF files merged successfully!");
}
}
}
请注意,这个示例使用的是 iTextSharp 库。如果你想要使用 iText 7,你需要安装相应的 NuGet 包,并使用新的命名空间和类。以下是一个使用 iText 7 合并 PDF 文件的示例:
using System;
using System.IO;
using iText.Kernel.Pdf;
using iText.Kernel.Pdf.Merging;
namespace MergePdfFiles
{
class Program
{
static void Main(string[] args)
{
// 合并 PDF 文件路径列表
string[] pdfFiles = { "file1.pdf", "file2.pdf", "file3.pdf" };
// 合并后的 PDF 文件输出路径
string outputPdf = "merged.pdf";
// 创建一个 PdfWriter 实例
PdfWriter writer = new PdfWriter(outputPdf);
// 创建一个 PdfDocument 实例
PdfDocument pdfDoc = new PdfDocument(writer);
// 创建一个 PdfMerger 实例
PdfMerger merger = new PdfMerger();
// 遍历 PDF 文件路径列表,将每个 PDF 文件添加到合并后的 PDF 文档中
foreach (string pdfFile in pdfFiles)
{
// 创建一个 PdfReader 实例
PdfReader reader = new PdfReader(pdfFile);
// 将当前 PDF 文档的所有页面添加到合并后的 PDF 文档中
merger.AddDocument(reader);
// 关闭 PdfReader 实例
reader.Close();
}
// 将合并后的 PDF 文档写入输出文件
merger.Write(pdfDoc);
// 关闭 PdfDocument 和 PdfWriter 实例
pdfDoc.Close();
writer.Close();
Console.WriteLine("PDF files merged successfully!");
}
}
}
这个示例使用的是 iText 7 库。你可以根据自己的需求选择合适的库进行 PDF 合并操作。