使用 .NET 5 合并 PDF 文件

您只需调用 PdfFileEditor 类的 Concatenate 方法,所有输入的 PDF 文件将被合并在一起,并生成一个单一的 PDF 文件。让我们创建一个应用程序来练习 PDF 文件的合并。我们将使用 Visual Studio.NET 2019 创建一个应用程序。

如何以不同方式合并 PDF 文件

在表单中,有三个文本框(textBox1, textBox2, textBox3)及其各自的链接标签(linkLabel1, linkLabel2, linkLabel3)用于浏览 PDF 文件。点击“浏览”链接标签,将出现一个输入文件对话框(inputFileDialog1),使我们能够选择要合并的 PDF 文件。

private void linkLabel1_LinkClicked(object sender, System.Windows.Forms.LinkLabelLinkClickedEventArgs e)
{
    if (openFileDialog1.ShowDialog()==DialogResult.OK)
    {
        textBox1.Text=openFileDialog1.FileName;
    }
}

展示了一个 Windows 窗体应用程序的视图,以演示 PdfFileEditor 类的 PDF 文件合并功能。

合并 PDF 文件

选择 PDF 文件并点击 OK 按钮后,完整的文件名和路径将分配给相关的文本框。

选择 PDF 文件

同样,我们可以选择两个或三个输入 PDF 文件进行合并,如下所示:

选择两个或三个输入 PDF 文件

最后一个文本框(textBox4)将接受输出 PDF 文件的目标路径及其名称,输出文件将在此路径下创建。

输出 PDF 文件的目标路径

合并方法

Concatenate() 方法

Concatenate() 方法可以以三种方式使用。让我们仔细看看每一种:

方法 1

  • Concatenate(string firstInputFile, string secInputFile, string outputFile)

这种方法仅适用于需要合并两个 PDF 文件的情况。前两个参数(firstInputFile 和 secInputFile)提供要合并的两个输入 PDF 文件的完整文件名及其存储路径。第三个参数(outputFile)提供所需输出 PDF 文件的文件名及路径。

使用文件名合并两个 PDF

private void button1_Click(object sender, System.EventArgs e)
{
    var pdfEditor = new Aspose.Pdf.Facades.PdfFileEditor();
    pdfEditor.Concatenate(textBox1.Text,textBox2.Text,textBox4.Text);
}

方法 2

  • Concatenate(Stream firstInputStream, Stream secInputStream, Stream outputStream)

与上述方法类似,此方法也允许合并两个 PDF 文件。前两个参数(firstInputStream 和 secInputStream)提供作为流的两个输入 PDF 文件(流是位/字节的数组),第三个参数(outputStream)提供所需输出 PDF 文件的流表示。

使用文件流合并两个 PDF

private void button2_Click(object sender, System.EventArgs e)
{
    using (var pdf1 = new FileStream(textBox1.Text, FileMode.Open))
    {
        using (var pdf2 = new FileStream(textBox2.Text, FileMode.Open))
        {
            using (var outputStream = new FileStream(textBox4.Text, FileMode.Create))
            {
                var pdfEditor = new Aspose.Pdf.Facades.PdfFileEditor();
                pdfEditor.Concatenate(pdf1, pdf2, outputStream);
            }
        }
    }
}

方法 3

  • Concatenate(Stream inputStreams[], Stream outputStream)

如果您想合并多个 PDF 文件,那么此方法将是您的最佳选择。第一个参数(inputStreams[])提供要合并的输入 PDF 文件的流数组。第二个参数(outputStream)提供所需输出 PDF 文件的流表示。

使用流数组合并多个 PDF

private void button3_Click(object sender, System.EventArgs e)
{
    using (var pdf1 = new FileStream(textBox1.Text, FileMode.Open))
    {
        using (var pdf2 = new FileStream(textBox2.Text, FileMode.Open))
        {
            using (var pdf3 = new FileStream(textBox3.Text, FileMode.Open))
            {
                var pdfStreams = new Stream[] { pdf1, pdf2, pdf3 };
                using (var outputStream = new FileStream(textBox4.Text, FileMode.Create))
                {
                    var pdfEditor = new Aspose.Pdf.Facades.PdfFileEditor();
                    pdfEditor.Concatenate(pdfStreams, outputStream);
                }
            }
        }
    }
}