Menggabungkan file PDF menggunakan .NET 5

Yang perlu Anda lakukan adalah memanggil metode Concatenate dari kelas PdfFileEditor dan semua file PDF input Anda akan digabungkan bersama dan satu file PDF akan dihasilkan. Mari kita buat aplikasi untuk berlatih penggabungan file PDF. Kita akan membuat aplikasi menggunakan Visual Studio.NET 2019.

Cara Menggabungkan File PDF dengan Cara yang Berbeda

Dalam formulir, terdapat tiga Kotak Teks (textBox1, textBox2, textBox3) yang memiliki Label Tautan masing-masing (linkLabel1, linkLabel2, linkLabel3) untuk menjelajahi file PDF. Dengan mengklik Label Tautan “Browse”, Dialog File Input (inputFileDialog1) akan muncul yang memungkinkan kita memilih file PDF (yang akan digabungkan).

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

Tampilan aplikasi formulir windows ditunjukkan untuk demonstrasi kelas PdfFileEditor untuk Penggabungan File PDF.

Menggabungkan File PDF

Setelah kita memilih file PDF dan mengklik tombol OK. Nama file lengkap dengan jalur ditugaskan ke Kotak Teks terkait.

Pilih file PDF

Demikian pula, kita dapat memilih dua atau tiga File PDF Input untuk digabungkan seperti yang ditunjukkan di bawah ini:

Pilih dua atau tiga File PDF Input

Kotak Teks terakhir (textBox4) akan mengambil Jalur Tujuan dari file PDF output dengan namanya di mana file output ini akan dibuat.

Jalur Tujuan dari file PDF output

Metode Concatenate

Metode Concatenate()

Metode Concatenate() dapat digunakan dengan tiga cara. Mari kita lihat lebih dekat masing-masing dari mereka:

Pendekatan 1

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

Pendekatan ini baik hanya jika Anda perlu menggabungkan hanya dua file PDF. Dua argumen pertama (firstInputFile dan secInputFile) memberikan nama file lengkap dengan jalur penyimpanan dari dua file PDF input yang akan digabungkan. Argumen ketiga (outputFile) memberikan nama file yang diinginkan dengan jalur dari file PDF output.

Menggabungkan dua PDF menggunakan Nama File

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

Pendekatan 2

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

Mirip dengan pendekatan di atas, pendekatan ini juga memungkinkan penggabungan dua file PDF. Dua argumen pertama (firstInputStream dan secInputStream) memberikan dua file PDF input sebagai Stream (stream adalah array bit/byte) yang akan digabungkan. Argumen ketiga (outputStream) memberikan representasi stream dari file PDF output yang diinginkan.

Menggabungkan dua PDF menggunakan Stream File

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);
            }
        }
    }
}

Pendekatan 3

  • Concatenate(Stream inputStreams[], Stream outputStream)

Jika Anda ingin menggabungkan lebih dari dua file PDF maka pendekatan ini akan menjadi pilihan utama Anda. Argumen pertama (inputStreams[]) memberikan file PDF input dalam bentuk Array Stream yang akan digabungkan. Argumen kedua (outputStream) memberikan representasi stream dari file PDF output yang diinginkan.

Menggabungkan beberapa PDF menggunakan Array Stream

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);
                }
            }
        }
    }
}