Créer des documents PDF à l'aide de C#

La génération et le traitement automatisés de documents PDF sont devenus une fonctionnalité exigeante ces derniers jours. Dans diverses applications, les documents PDF sont générés dynamiquement, tels que les factures, les reçus et différents types de rapports. Conformément à cela, cet article couvre l’implémentation de base de l’automatisation PDF dans les applications .NET. En fin de compte, vous apprendrez à créer des fichiers PDF à l’aide de C#. Les exemples de code montreront comment insérer du texte, des images, des tableaux et d’autres composants dans un PDF à l’aide de C#.

API PDF C# .NET - Téléchargement gratuit

Aspose.PDF for .NET est une API de manipulation de fichiers PDF qui vous permet de générer et de traiter des fichiers PDF à partir de vos applications .NET. À l’aide de l’API, vous pouvez générer dynamiquement différents types de rapports et de documents commerciaux. L’API est disponible sous forme de DLL téléchargeable ainsi qu’hébergée sur NuGet.

Install-Package Aspose.Pdf

Créer des fichiers PDF en C#

Commençons par créer un simple document PDF contenant un fragment de texte. Voici les étapes pour créer un fichier PDF à l’aide de C#.

L’exemple de code suivant montre comment créer un fichier PDF simple à l’aide de C#.

// Initialiser l'objet document
Document document = new Document();

// Ajouter une page
Page page = document.Pages.Add();

// Ajouter du texte à une nouvelle page
page.Paragraphs.Add(new Aspose.Pdf.Text.TextFragment("Hello World!"));

// Enregistrer le PDF 
document.Save("document.pdf");

En savoir plus sur la création de documents PDF complexes.

Modifier un fichier PDF en C#

Modifier un fichier PDF est aussi simple que d’en créer un nouveau. Chargez simplement le fichier à l’aide de la classe Document, effectuez les opérations souhaitées et enregistrez-le. Voici les étapes pour modifier un PDF.

  • Créez un objet de la classe Document et indiquez le chemin d’accès d’un fichier PDF à son constructeur.
  • Manipuler les pages ou le contenu du document.
  • Enregistrez le document à l’aide de la méthode Document.Save().

L’exemple de code suivant montre comment modifier un PDF à l’aide de C#.

// Charger le PDF
var pdfDocument = new Aspose.Pdf.Document("document.pdf");

// Faire quelques manipulations, par exemple ajouter une nouvelle page vide
pdfDocument.Pages.Add();

// Enregistrer le PDF mis à jour
pdfDocument.Save(modifiedFileName);

Insérer une image dans un PDF à l’aide de C#

Voyons maintenant comment insérer une image dans le document PDF. Voici les étapes à suivre.

  • Créez un objet de classe Document pour ouvrir un document PDF.
  • Accédez à la page à laquelle vous souhaitez ajouter une image à l’aide de la classe Page.
  • Ajoutez l’image à la collection Resources de la page.
  • Utilisez des opérateurs pour placer l’image sur la page :
    • GSave operator to save the current graphical state.
    • ConcaténerMatrice operator to specify where the image is to be placed.
    • Fais operator to draw the image on the page.
    • Enfin, utilisez l’opérateur GRestore pour enregistrer l’état graphique mis à jour.
  • Enregistrez le fichier PDF.

L’exemple de code suivant montre comment ajouter une image à un document PDF à l’aide de C#.

// Ouvrir le document
Document pdfDocument = new Document("document.pdf");

// Définir les coordonnées
int lowerLeftX = 100;
int lowerLeftY = 100;
int upperRightX = 200;
int upperRightY = 200;

// Obtenir la page où l'image doit être ajoutée
Page page = pdfDocument.Pages[1];

// Charger l'image dans le flux
FileStream imageStream = new FileStream("aspose-logo.jpg", FileMode.Open);

// Ajouter une image à la collection d'images des ressources de page
page.Resources.Images.Add(imageStream);

// Utilisation de l'opérateur GSave : cet opérateur enregistre l'état actuel des graphiques
page.Contents.Add(new Aspose.Pdf.Operators.GSave());

// Créer des objets Rectangle et Matrix
Aspose.Pdf.Rectangle rectangle = new Aspose.Pdf.Rectangle(lowerLeftX, lowerLeftY, upperRightX, upperRightY);
Matrix matrix = new Matrix(new double[] { rectangle.URX - rectangle.LLX, 0, 0, rectangle.URY - rectangle.LLY, rectangle.LLX, rectangle.LLY });

// Utilisation de l'opérateur ConcatenateMatrix (matrice de concaténation): définit comment l'image doit être placée
page.Contents.Add(new Aspose.Pdf.Operators.ConcatenateMatrix(matrix));
XImage ximage = page.Resources.Images[page.Resources.Images.Count];

// Utilisation de l'opérateur Do : cet opérateur dessine l'image
page.Contents.Add(new Aspose.Pdf.Operators.Do(ximage.Name));

// Utilisation de l'opérateur GRestore : cet opérateur restaure l'état graphique
page.Contents.Add(new Aspose.Pdf.Operators.GRestore()); 

// Enregistrer le document mis à jour
pdfDocument.Save("document.pdf");

En savoir plus sur insérer des images dans le PDF.

Créer un tableau en PDF à l’aide de C#

Les tableaux sont une composante essentielle des documents qui servent à organiser les données sous forme de lignes et de colonnes. Aspose.PDF for .NET vous offre un moyen assez simple de créer et d’insérer des tableaux dans des documents PDF. Voici les étapes pour effectuer cette opération.

  • Chargez le fichier PDF à l’aide de la classe Document.
  • Initialisez une table et définissez ses colonnes et ses lignes à l’aide de la classe Table.
  • Définissez les paramètres du tableau (c’est-à-dire les bordures).
  • Remplissez la table en créant des lignes à l’aide de la méthode Table.Rows.Add().
  • Ajoutez le tableau à la page à l’aide de la méthode Document.Pages1.Paragraphs.Add(Table).
  • Enregistrez le fichier PDF.

L’exemple de code suivant montre comment créer et ajouter un tableau dans un document PDF en C#.

// Charger le document PDF source
Aspose.Pdf.Document doc = new Aspose.Pdf.Document("document.pdf");

// Initialise une nouvelle instance de la Table
Aspose.Pdf.Table table = new Aspose.Pdf.Table();

// Définissez la couleur de la bordure du tableau sur LightGray
table.Border = new Aspose.Pdf.BorderInfo(Aspose.Pdf.BorderSide.All, .5f, Aspose.Pdf.Color.FromRgb(System.Drawing.Color.LightGray));

// Définir la bordure des cellules du tableau
table.DefaultCellBorder = new Aspose.Pdf.BorderInfo(Aspose.Pdf.BorderSide.All, .5f, Aspose.Pdf.Color.FromRgb(System.Drawing.Color.LightGray));

// Créer une boucle pour ajouter 10 lignes
for (int row_count = 1; row_count < 10; row_count++)
{
    // Ajouter une ligne au tableau
    Aspose.Pdf.Row row = table.Rows.Add();
    // Ajouter des cellules de tableau
    row.Cells.Add("Column (" + row_count + ", 1)");
    row.Cells.Add("Column (" + row_count + ", 2)");
    row.Cells.Add("Column (" + row_count + ", 3)");
}

// Ajouter un objet tableau à la première page du document d'entrée
doc.Pages[1].Paragraphs.Add(table);

// Enregistrer le document mis à jour contenant l'objet tableau
doc.Save("document_with_table_out.pdf");

En savoir plus sur la création de tableaux au format PDF.

Créer un formulaire au format PDF en C#

Des formulaires en PDF sont utilisés pour collecter les données des lecteurs. Vous pouvez insérer des zones de texte, des cases à cocher, des boutons radio et d’autres contrôles pris en charge dans les formulaires PDF. Le format PDF prend en charge deux types de formulaires ; Formulaires Acro et formulaires XFA (voir détails). Voici les étapes pour créer et ajouter des formulaires dans un PDF.

L’exemple de code suivant montre comment ajouter des formulaires au document PDF à l’aide de C#.

// Ouvrir le document
Document pdfDocument = new Document("document.pdf");

// Créer un champ
TextBoxField textBoxField = new TextBoxField(pdfDocument.Pages[1], new Aspose.Pdf.Rectangle(100, 200, 300, 300));
textBoxField.PartialName = "textbox1";
textBoxField.Value = "Text Box";

// TextBoxField.Border = nouvelle bordure(
Border border = new Border(textBoxField);
border.Width = 5;
border.Dash = new Dash(1, 1);
textBoxField.Border = border;

textBoxField.Color = Aspose.Pdf.Color.FromRgb(System.Drawing.Color.Green);

// Ajouter un champ au document
pdfDocument.Form.Add(textBoxField, 1);

// Enregistrer le PDF modifié
pdfDocument.Save("output.pdf");

En savoir plus sur la création de formulaires au format PDF.

Conclusion

Dans cet article, vous avez appris à créer des fichiers PDF à partir de rien à l’aide de C#. De plus, vous avez appris à insérer par programmation divers types de composants tels que du texte, des images, des tableaux et des formulaires dans un document PDF. Vous pouvez en savoir plus sur l’API PDF en utilisant la documentation.

Voir également

Info : Aspose fournit une application Web en ligne gratuite qui vous permet de afficher des PDF en ligne, une autre qui vous permet de convertir des PDF en vidéo et une qui vous permet de modifier des PDF en ligne.