Fusionner des fichiers PDF en utilisant .NET 5

Tout ce que vous avez à faire est d’appeler la méthode Concatenate de la classe PdfFileEditor et tous vos fichiers PDF d’entrée seront concaténés ensemble et un fichier PDF unique sera généré. Créons une application pour pratiquer la concaténation de fichiers PDF. Nous allons créer une application en utilisant Visual Studio.NET 2019.

Comment concaténer des fichiers PDF de différentes manières

Dans le formulaire, il y a trois zones de texte (textBox1, textBox2, textBox3) ayant leurs étiquettes de lien respectives (linkLabel1, linkLabel2, linkLabel3) pour parcourir les fichiers PDF. En cliquant sur l’étiquette de lien “Parcourir”, une boîte de dialogue de fichier d’entrée (inputFileDialog1) apparaîtra, ce qui nous permettra de choisir les fichiers PDF (à concaténer).

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

Une vue de l’application de formulaire Windows est montrée pour la démonstration de la classe PdfFileEditor pour la concaténation de fichiers PDF.

Concaténer des fichiers PDF

Après avoir choisi le fichier PDF et cliqué sur le bouton OK, le nom complet du fichier avec le chemin est attribué à la zone de texte correspondante.

Choisir le fichier PDF

De même, nous pouvons choisir deux ou trois fichiers PDF d’entrée à concaténer comme montré ci-dessous :

Choisir deux ou trois fichiers PDF d’entrée

La dernière zone de texte (textBox4) prendra le chemin de destination du fichier PDF de sortie avec son nom où ce fichier de sortie sera créé.

Chemin de destination du fichier PDF de sortie

Méthode Concatenate

Méthode Concatenate()

La méthode Concatenate() peut être utilisée de trois manières. Examinons de plus près chacune d’elles :

Approche 1

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

Cette approche est bonne uniquement si vous devez joindre seulement deux fichiers PDF. Les deux premiers arguments (firstInputFile et secInputFile) fournissent les noms de fichiers complets avec leur chemin de stockage des deux fichiers PDF d’entrée à concaténer. Le troisième argument (outputFile) fournit le nom de fichier souhaité avec le chemin du fichier PDF de sortie.

Concaténer deux PDFs en utilisant les noms de fichiers

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

Approche 2

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

Semblable à l’approche ci-dessus, cette approche permet également de joindre deux fichiers PDF. Les deux premiers arguments (firstInputStream et secInputStream) fournissent les deux fichiers PDF d’entrée sous forme de flux (un flux est un tableau de bits/octets) à concaténer. Le troisième argument (outputStream) fournit la représentation en flux du fichier PDF de sortie souhaité.

Concaténer deux PDFs en utilisant des flux de fichiers

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

Approche 3

  • Concatenate(Stream inputStreams[], Stream outputStream)

Si vous souhaitez joindre plus de deux fichiers PDF, cette approche serait votre choix ultime. Le premier argument (inputStreams[]) fournit les fichiers PDF d’entrée sous forme de tableau de flux à concaténer. Le deuxième argument (outputStream) fournit la représentation en flux du fichier PDF de sortie souhaité.

Concaténer plusieurs PDFs en utilisant un tableau de flux

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