Passer au contenu du pied de page
UTILISATION DE IRONPDF

Comment enregistrer un fichier PDF en C# (Tutoriel Débutant)

Cet article explorera comment utiliser IronPDF pour sauvegarder des fichiers PDF à partir d'une application Windows Forms ou de toute application .NET.

La bibliothèque IronPDF est une bibliothèque .NET qui fournit des classes et méthodes faciles à utiliser pour générer et travailler avec des fichiers PDF dans les applications C#. Elle permet aux développeurs de créer, modifier et sauvegarder des fichiers PDF avec seulement quelques lignes de code, ce qui en fait un excellent choix pour les applications Windows Forms.

Étape 1 : Créer une nouvelle application Windows Forms

Tout d'abord, créez un nouveau projet Visual Studio. Voici les étapes pour créer une nouvelle application C# Windows Forms dans Visual Studio 2022

  1. Ouvrez Visual Studio 2022 comme indiqué ci-dessous.

Comment enregistrer un fichier PDF en C# (Tutoriel pour débutants), Figure 1 : Visual Studio 2022 Visual Studio 2022

  1. Cliquez sur "Créer un nouveau projet" sur la page de démarrage ou allez dans "Fichier" > "Nouveau" > "Projet".
  2. Dans la boîte de dialogue "Créer un nouveau projet", sélectionnez "Windows Forms App" ou "Windows Forms App (.NET Framework)" sous "Créer un nouveau projet" comme indiqué ci-dessous.

Comment enregistrer un fichier PDF en C# (Tutoriel pour débutants), Figure 2 : Nouvelle application Forms Nouvelle application Forms

  1. Entrez un nom pour votre projet et choisissez un emplacement pour le sauvegarder.

Comment enregistrer un fichier PDF en C# (Tutoriel pour débutants), Figure 3 : Emplacement du projet Emplacement du projet

  1. Choisissez .NET Framework. Sélectionnez .NET 7.0 dans le menu déroulant.
  2. Cliquez sur le bouton Créer.

Comment enregistrer un fichier PDF en C# (Tutoriel pour débutants), Figure 4 : Informations supplémentaires Informations supplémentaires

  1. Visual Studio créera un nouveau projet d'application C# Windows Forms pour vous, avec un formulaire par défaut nommé "Form1" ajouté au projet comme indiqué ci-dessous.

Comment enregistrer un fichier PDF en C# (Tutoriel pour débutants), Figure 5 : Projet Form1 Projet Form1

Et voilà ! Nous allons maintenant commencer à construire l'application Windows Forms en utilisant le concepteur, en ajoutant des contrôles et des fonctionnalités pour créer et sauvegarder un fichier de document PDF.

Étape 2 : Concevoir le formulaire

Vous pouvez concevoir le formulaire selon vos préférences. Ce tutoriel fera un design minimaliste en ajoutant deux étiquettes, une zone de texte enrichie et deux boutons.

Comment enregistrer un fichier PDF en C# (Tutoriel pour débutants), Figure 6 : Ajouter des boutons au formulaire Ajouter des boutons au formulaire

Étape 3 : Installer IronPDF

L'étape suivante est d'installer IronPDF dans ce projet pour utiliser ses riches fonctionnalités.

IronPDF peut être installé en utilisant le gestionnaire de packages NuGet dans Visual Studio. Vous pouvez accéder à la console du gestionnaire de packages NuGet en allant dans Outils > Gestionnaire de packages NuGet > Console du gestionnaire de packages.

Tapez la commande suivante et appuyez sur Entrée :

Install-Package IronPdf

Cette commande téléchargera et installera le package IronPDF dans votre projet. Une fois installé, nous pouvons commencer à utiliser IronPDF.

Écrire le code pour créer et sauvegarder un fichier PDF

Pour commencer avec le flux, écrivez deux méthodes : Save_Click et getFilePath dans la classe Form1.cs. Ces méthodes sont utilisées ensemble pour sauvegarder le contenu d'une zone de texte sous forme de fichier PDF en utilisant la bibliothèque ChromePdfRenderer Class. Parcourons chaque méthode pour comprendre comment elle fonctionne.

Méthode Save_Click (Créer un document PDF)

La méthode suivante est un gestionnaire d'événements pour un événement de clic de bouton. L'objectif de cette méthode est de sauvegarder le contenu d'une zone de texte sous forme de fichier PDF.

private void Save_Click(object sender, EventArgs e)
{
    // Get the file path to save the PDF file.
    string filename = getFilePath();

    // If the file path is not empty or null, proceed with saving the PDF file.
    if (!String.IsNullOrEmpty(filename))
    {
        // Create a new instance of the ChromePdfRenderer class.
        var renderer = new ChromePdfRenderer();

        // Render the file contents of the text box as a PDF document using the ChromePdfRenderer.
        var pdfDocument = renderer.RenderHtmlAsPdf(pdfContent.Text);

        // Save the PDF document to the specified file path using the SaveAs method.
        pdfDocument.SaveAs(filename);

        // Show a message box to indicate that the PDF file has been saved successfully.
        MessageBox.Show("PDF has been saved Successfully!");
    }
}
private void Save_Click(object sender, EventArgs e)
{
    // Get the file path to save the PDF file.
    string filename = getFilePath();

    // If the file path is not empty or null, proceed with saving the PDF file.
    if (!String.IsNullOrEmpty(filename))
    {
        // Create a new instance of the ChromePdfRenderer class.
        var renderer = new ChromePdfRenderer();

        // Render the file contents of the text box as a PDF document using the ChromePdfRenderer.
        var pdfDocument = renderer.RenderHtmlAsPdf(pdfContent.Text);

        // Save the PDF document to the specified file path using the SaveAs method.
        pdfDocument.SaveAs(filename);

        // Show a message box to indicate that the PDF file has been saved successfully.
        MessageBox.Show("PDF has been saved Successfully!");
    }
}
Private Sub Save_Click(ByVal sender As Object, ByVal e As EventArgs)
	' Get the file path to save the PDF file.
	Dim filename As String = getFilePath()

	' If the file path is not empty or null, proceed with saving the PDF file.
	If Not String.IsNullOrEmpty(filename) Then
		' Create a new instance of the ChromePdfRenderer class.
		Dim renderer = New ChromePdfRenderer()

		' Render the file contents of the text box as a PDF document using the ChromePdfRenderer.
		Dim pdfDocument = renderer.RenderHtmlAsPdf(pdfContent.Text)

		' Save the PDF document to the specified file path using the SaveAs method.
		pdfDocument.SaveAs(filename)

		' Show a message box to indicate that the PDF file has been saved successfully.
		MessageBox.Show("PDF has been saved Successfully!")
	End If
End Sub
$vbLabelText   $csharpLabel

Voici une explication étape par étape de ce que fait cette méthode :

  1. La méthode appelle la méthode getFilePath pour obtenir le chemin de fichier où le fichier PDF sera sauvegardé.
  2. Si le chemin de fichier n'est ni vide ni nul, la méthode procède à la sauvegarde du fichier PDF.
  3. La méthode crée une nouvelle instance de la classe ChromePdfRenderer. C'est une bibliothèque qui fournit un moyen de convertir du contenu HTML en documents PDF utilisant le moteur du navigateur Google Chrome.
  4. La méthode utilise ensuite la méthode RenderHtmlAsPdf de la classe ChromePdfRenderer pour convertir le contenu HTML de la zone de texte pdfContent en un document PDF. Ce document PDF est attribué à la Variable PdfDocument.
  5. La méthode sauvegarde le document PDF au chemin de fichier spécifié en utilisant la méthode SaveAs de la classe PdfDocument.
  6. Enfin, la méthode affiche une boîte de message pour indiquer que le fichier PDF a été sauvegardé avec succès.

Méthode getFilePath (Sauvegarder des fichiers PDF)

Cette méthode est utilisée pour afficher une SaveFileDialog à l'utilisateur pour sélectionner un chemin de fichier où le fichier PDF sera sauvegardé.

public string getFilePath()
{
    // Create a new instance of the SaveFileDialog class.
    SaveFileDialog saveFileDialog1 = new SaveFileDialog();

    // Set the initial directory where the SaveFileDialog will open.
    saveFileDialog1.InitialDirectory = @"D:\";

    // Set the title of the SaveFileDialog.
    saveFileDialog1.Title = "Save the PDF Files";

    // Set the SaveFileDialog to check if the specified path exists.
    saveFileDialog1.CheckPathExists = true;

    // Set the default extension for the file type.
    saveFileDialog1.DefaultExt = ".pdf";

    // Set the filter to display only PDF files or all files.
    saveFileDialog1.Filter = "PDF files (*.pdf)|*.pdf|All files (*.*)|*.*";

    // Set the filter index to display the PDF filter as the default.
    saveFileDialog1.FilterIndex = 2;

    // Set the RestoreDirectory property to true so that the SaveFileDialog
    // restores the current directory before closing.
    saveFileDialog1.RestoreDirectory = true;

    // Show the SaveFileDialog and get the result.
    if (saveFileDialog1.ShowDialog() == DialogResult.OK)
    {
        // If the user clicked the OK button in the SaveFileDialog, return the selected file path.
        return saveFileDialog1.FileName;
    }
    // If the user did not click the OK button, return an empty string.
    return String.Empty;
}
public string getFilePath()
{
    // Create a new instance of the SaveFileDialog class.
    SaveFileDialog saveFileDialog1 = new SaveFileDialog();

    // Set the initial directory where the SaveFileDialog will open.
    saveFileDialog1.InitialDirectory = @"D:\";

    // Set the title of the SaveFileDialog.
    saveFileDialog1.Title = "Save the PDF Files";

    // Set the SaveFileDialog to check if the specified path exists.
    saveFileDialog1.CheckPathExists = true;

    // Set the default extension for the file type.
    saveFileDialog1.DefaultExt = ".pdf";

    // Set the filter to display only PDF files or all files.
    saveFileDialog1.Filter = "PDF files (*.pdf)|*.pdf|All files (*.*)|*.*";

    // Set the filter index to display the PDF filter as the default.
    saveFileDialog1.FilterIndex = 2;

    // Set the RestoreDirectory property to true so that the SaveFileDialog
    // restores the current directory before closing.
    saveFileDialog1.RestoreDirectory = true;

    // Show the SaveFileDialog and get the result.
    if (saveFileDialog1.ShowDialog() == DialogResult.OK)
    {
        // If the user clicked the OK button in the SaveFileDialog, return the selected file path.
        return saveFileDialog1.FileName;
    }
    // If the user did not click the OK button, return an empty string.
    return String.Empty;
}
Public Function getFilePath() As String
	' Create a new instance of the SaveFileDialog class.
	Dim saveFileDialog1 As New SaveFileDialog()

	' Set the initial directory where the SaveFileDialog will open.
	saveFileDialog1.InitialDirectory = "D:\"

	' Set the title of the SaveFileDialog.
	saveFileDialog1.Title = "Save the PDF Files"

	' Set the SaveFileDialog to check if the specified path exists.
	saveFileDialog1.CheckPathExists = True

	' Set the default extension for the file type.
	saveFileDialog1.DefaultExt = ".pdf"

	' Set the filter to display only PDF files or all files.
	saveFileDialog1.Filter = "PDF files (*.pdf)|*.pdf|All files (*.*)|*.*"

	' Set the filter index to display the PDF filter as the default.
	saveFileDialog1.FilterIndex = 2

	' Set the RestoreDirectory property to true so that the SaveFileDialog
	' restores the current directory before closing.
	saveFileDialog1.RestoreDirectory = True

	' Show the SaveFileDialog and get the result.
	If saveFileDialog1.ShowDialog() = DialogResult.OK Then
		' If the user clicked the OK button in the SaveFileDialog, return the selected file path.
		Return saveFileDialog1.FileName
	End If
	' If the user did not click the OK button, return an empty string.
	Return String.Empty
End Function
$vbLabelText   $csharpLabel

Voici une explication étape par étape de ce que fait cette méthode :

  1. La méthode crée une nouvelle instance de la classe SaveFileDialog. Cette classe fait partie de la bibliothèque Windows Forms et fournit une boîte de dialogue permettant à l'utilisateur de sélectionner un chemin de fichier où le fichier PDF sera sauvegardé.
  2. La méthode définit plusieurs propriétés de l'objet SaveFileDialog pour personnaliser son comportement. La propriété InitialDirectory définit le répertoire où la boîte de dialogue s'ouvrira en premier. La propriété Title définit le titre de la boîte de dialogue. La propriété CheckPathExists spécifie si la boîte de dialogue doit vérifier si le chemin spécifié existe. La propriété DefaultExt définit l'extension de fichier par défaut pour le type de fichier. La propriété Filter définit les filtres de type de fichier qui sont affichés dans la boîte de dialogue. La propriété FilterIndex définit le filtre par défaut à afficher. Enfin, la propriété RestoreDirectory spécifie si la boîte de dialogue doit restaurer le répertoire actuel avant de fermer.
  3. La méthode affiche la SaveFileDialog en appelant sa méthode ShowDialog. Cette méthode affiche la boîte de dialogue et retourne une valeur DialogResult qui indique si l'utilisateur a cliqué sur le bouton "OK" ou sur le bouton Annuler.
  4. Si l'utilisateur clique sur le bouton "OK", la méthode retourne le chemin de fichier que l'utilisateur a sélectionné en accédant à la propriété FileName de la SaveFileDialog.
  5. Si l'utilisateur clique sur le bouton "Annuler" ou ferme la boîte de dialogue, la méthode retourne une chaîne vide.

Lançons le projet et voyons le résultat. Exécutez le projet, et le formulaire suivant s'ouvrira.

Comment enregistrer un fichier PDF en C# (Tutoriel pour débutants), Figure 7 : Exécution du projet Windows Forms Exécution du projet Windows Forms

Entrez votre contenu PDF et cliquez sur le bouton "Sauvegarder" comme indiqué ci-dessous.

Comment enregistrer un fichier PDF en C# (Tutoriel pour débutants), Figure 8 : Boîte de dialogue de sauvegarde Boîte de dialogue de sauvegarde

Le PDF suivant est créé.

Comment enregistrer un fichier PDF en C# (Tutoriel pour débutants), Figure 9 : Fichier PDF créé Fichier PDF créé

IronPDF fournit un moyen simple de convertir du contenu HTML en documents PDF et de les sauvegarder à un chemin de fichier sélectionné par l'utilisateur en utilisant la classe ChromePdfRenderer et la boîte de dialogue SaveFileDialog.

Conclusion

Sauvegarder des fichiers PDF depuis une application Windows Forms est une exigence courante, et IronPDF fournit une méthode facile à utiliser et flexible pour accomplir cette tâche. Cet article a démontré comment utiliser IronPDF pour créer, ajouter du contenu et sauvegarder des fichiers dans une application Windows Forms en C#. Avec IronPDF, les développeurs peuvent générer des fichiers PDF de haute qualité à partir de leurs applications avec seulement quelques lignes de code.

IronPDF offers a range of features such as HTML to PDF Conversion Tutorial, PDF Merging Example Code, Splitting PDF Pages Guide, and Extracting Text and Images How-to, and more. IronPDF is free for development and available under a Commercial License with a Free Trial, which allows developers to use it in commercial projects and includes dedicated support and updates.

De plus, IronPDF fait partie de l'Iron Suite, qui est un ensemble de composants logiciels .NET qui inclut des bibliothèques pour :

Acheter la toute Iron Suite est une solution économique car vous pouvez obtenir les cinq produits pour le prix de deux.

Questions Fréquemment Posées

Comment puis-je enregistrer un fichier PDF dans une application Windows Forms en C#?

Vous pouvez enregistrer un fichier PDF dans une application Windows Forms en C# en utilisant IronPDF en configurant un formulaire avec des contrôles tels que des zones de texte et des boutons, et en implémentant la méthode Save_Click pour rendre et sauvegarder le contenu en tant que PDF en utilisant la classe ChromePdfRenderer.

Quelles étapes sont impliquées dans la configuration d'une application Windows Forms pour enregistrer des PDF en utilisant C#?

Pour configurer une application Windows Forms pour enregistrer des PDF, créez un nouveau projet dans Visual Studio, ajoutez les contrôles nécessaires tels que des étiquettes et une zone de texte enrichie, et installez IronPDF via le gestionnaire de paquets NuGet pour utiliser ses capacités de rendu PDF.

Comment puis-je convertir le contenu HTML en PDF en C# ?

Vous pouvez convertir du contenu HTML en PDF en C# en utilisant la méthode RenderHtmlAsPdf d'IronPDF, qui vous permet de prendre des chaînes HTML et de les rendre directement en documents PDF.

Quel est le rôle de la méthode Save_Click dans le contexte de la génération de PDF?

La méthode Save_Click sert de gestionnaire d'événements dans l'application, responsable de capturer l'événement de clic d'un bouton pour initier le processus de rendu du contenu de la zone de texte dans un fichier PDF en utilisant les classes de rendu d'IronPDF.

Comment puis-je inviter les utilisateurs à sélectionner un chemin de fichier pour enregistrer un PDF dans une application C#?

Dans une application C#, vous pouvez inviter les utilisateurs à sélectionner un chemin de fichier pour enregistrer un PDF en utilisant la classe SaveFileDialog, qui vous permet de configurer une interface pour la sélection de fichier et de retourner le chemin choisi pour enregistrer le PDF rendu.

Quelles fonctionnalités avancées IronPDF offre-t-il pour la manipulation de PDF?

IronPDF offre des fonctionnalités avancées telles que la conversion de HTML en PDF, la fusion de PDF, la division de pages PDF et l'extraction de texte et d'images, fournissant une suite complète d'outils pour la manipulation de PDF dans les applications .NET.

Y a-t-il des frais associés à l'utilisation d'IronPDF pour la génération de PDF dans des projets commerciaux ?

IronPDF est gratuit pour des fins de développement avec une licence d'essai. Cependant, pour des projets commerciaux, une licence commerciale est requise, qui inclut des avantages tels que le support dédié et les mises à jour régulières.

Qu'est-ce que la suite Iron et comment profite-t-elle aux développeurs ?

L'Iron Suite est un ensemble de bibliothèques .NET, incluant des outils pour la génération de codes-barres, la manipulation de documents Excel, et la gestion de PDF. Elle offre une solution rentable pour les développeurs nécessitant plusieurs fonctionnalités au sein de leurs applications.

IronPDF est-il compatible avec .NET 10 et quels avantages cela apporte-t-il pour l'enregistrement de fichiers PDF en C# ?

Oui, IronPDF est entièrement compatible avec .NET 10, y compris les projets de bureau, web et multiplateformes. Le développement avec .NET 10 offre des améliorations telles qu'une exécution plus rapide, l'accès aux fonctionnalités modernes de C# et une intégration plus étroite avec les fonctionnalités de la plateforme, ce qui rend la création et l'enregistrement de PDF via les méthodes RenderHtmlAsPdf et SaveAs d'IronPDF plus efficaces.

Curtis Chau
Rédacteur technique

Curtis Chau détient un baccalauréat en informatique (Université de Carleton) et se spécialise dans le développement front-end avec expertise en Node.js, TypeScript, JavaScript et React. Passionné par la création d'interfaces utilisateur intuitives et esthétiquement plaisantes, Curtis aime travailler avec des frameworks modernes ...

Lire la suite