Ajouter du texte au PDF en C#

Le format PDF est largement utilisé pour générer divers types de documents tels que des factures, des rapports financiers, des CV, etc. Dans le monde de l’automatisation, les documents PDF sont générés et manipulés à partir d’applications Web ou de bureau. Ainsi, dans certains cas, vous devrez peut-être ajouter du texte aux fichiers PDF existants par programme. Conformément à cela, cet article montre comment ajouter du texte à des documents PDF à l’aide de C#.

API C# pour ajouter du texte au PDF

Afin d’ajouter dynamiquement du texte aux fichiers PDF, nous utiliserons Aspose.PDF for .NET. Il s’agit d’une API riche en fonctionnalités qui vous permet de créer et de manipuler des fichiers PDF à partir de vos applications .NET. Vous pouvez soit télécharger l’API ou l’installer à l’aide de NuGet.

PM> Install-Package Aspose.PDF

Ajouter du texte à un PDF à l’aide de C#

Voici les étapes pour ajouter du texte à un fichier PDF à l’aide de C#.

  • Chargez le fichier PDF à l’aide de la classe Document.
  • Obtenez la page souhaitée du PDF dans un objet Page.
  • Créez un objet TextFragment et définissez son texte, sa position, sa police, sa couleur d’arrière-plan, etc.
  • Créez un objet TextBuilder et initialisez-le avec l’objet Page.
  • Utilisez la méthode TextBuilder.AppendText(TextFragment) pour ajouter du texte à la page du PDF.
  • Enregistrez le fichier PDF mis à jour à l’aide de la méthode Document.Save(String).

L’exemple de code suivant montre comment ajouter du texte à un fichier PDF.

// Pour des exemples complets et des fichiers de données, rendez-vous sur https://github.com/aspose-pdf/Aspose.PDF-for-.NET
// Ouvrir le document
Document pdfDocument = new Document("input.pdf");

// Obtenir une page particulière
Page pdfPage = (Page)pdfDocument.Pages[1];

// Créer un fragment de texte
TextFragment textFragment = new TextFragment("main text");
textFragment.Position = new Position(100, 600);

// Définir les propriétés du texte
textFragment.TextState.FontSize = 12;
textFragment.TextState.Font = FontRepository.FindFont("TimesNewRoman");
textFragment.TextState.BackgroundColor = Aspose.Pdf.Color.FromRgb(System.Drawing.Color.LightGray);
textFragment.TextState.ForegroundColor = Aspose.Pdf.Color.FromRgb(System.Drawing.Color.Red);

// Créer un objet TextBuilder
TextBuilder textBuilder = new TextBuilder(pdfPage);

// Ajouter le fragment de texte à la page PDF
textBuilder.AppendText(textFragment);

// Enregistrez le document PDF résultant.
pdfDocument.Save("output.pdf");

Ajouter du texte au PDF à l’aide de TextParagraph

Voici les étapes pour ajouter du texte à un fichier PDF à l’aide de TextParagraph.

L’exemple de code suivant montre comment ajouter du texte à un PDF à l’aide de la classe TextParagraph.

// Pour des exemples complets et des fichiers de données, rendez-vous sur https://github.com/aspose-pdf/Aspose.PDF-for-.NET
string fontFile = "font.ttf";

// Charger le fichier PDF d'entrée
Document doc = new Document("input.pdf");

// Créer un objet générateur de texte pour la première page du document
TextBuilder textBuilder = new TextBuilder(doc.Pages[1]);

// Créer un fragment de texte avec un exemple de chaîne
TextFragment textFragment = new TextFragment("Hello world");

if (fontFile != "")
{
    // Charger la police TrueType dans l'objet de flux
    using (FileStream fontStream = File.OpenRead(fontFile))
    {
        // Définir le nom de la police pour la chaîne de texte
        textFragment.TextState.Font = FontRepository.OpenFont(fontStream, FontTypes.TTF);
        
        // Spécifiez la position du fragment de texte
        textFragment.Position = new Position(10, 10);
        
        // Ajoutez le texte à TextBuilder afin qu'il puisse être placé sur le fichier PDF
        textBuilder.AppendText(textFragment);
    }

    // Enregistrer le document PDF résultant
    doc.Save("output.pdf");
}

Ajouter du texte transparent dans un PDF en C#

Aspose.PDF for .NET permet également d’ajouter du texte transparent à un document PDF, comme illustré dans les étapes suivantes.

L’exemple de code suivant montre comment ajouter du texte transparent à un fichier PDF.

// Pour des exemples complets et des fichiers de données, rendez-vous sur https://github.com/aspose-pdf/Aspose.PDF-for-.NET
// Créer une instance de document
Document doc = new Document("input.pdf");

// Créer une collection de pages à pages de fichiers PDF
Aspose.Pdf.Page page = doc.Pages.Add();

// Créer un objet graphique
Aspose.Pdf.Drawing.Graph canvas = new Aspose.Pdf.Drawing.Graph(100, 400);

// Créer une instance de rectangle avec certaines dimensions
Aspose.Pdf.Drawing.Rectangle rect = new Aspose.Pdf.Drawing.Rectangle(100, 100, 400, 400);

// Créer un objet de couleur à partir du canal de couleur Alpha
rect.GraphInfo.FillColor = Aspose.Pdf.Color.FromRgb(System.Drawing.Color.FromArgb(128, System.Drawing.Color.FromArgb(12957183)));

// Ajouter un rectangle à la collection de formes de l'objet Graph
canvas.Shapes.Add(rect);

// Ajouter un objet graphique à la collection de paragraphes de l'objet page
page.Paragraphs.Add(canvas);

// Définir la valeur pour ne pas changer la position de l'objet graphique
canvas.IsChangePosition = false;

// Créer une instance TextFragment avec un exemple de valeur
TextFragment text = new TextFragment("transparent text transparent text transparent text transparent text transparent text transparent text transparent text transparent text transparent text transparent text transparent text transparent text transparent text transparent text transparent text transparent text ");

// Créer un objet couleur à partir du canal Alpha
Aspose.Pdf.Color color = Aspose.Pdf.Color.FromArgb(30, 0, 255, 0);

// Définir les informations de couleur pour l'instance de texte
text.TextState.ForegroundColor = color;

// Ajouter du texte à la collection de paragraphes de l'instance de page
page.Paragraphs.Add(text);

// Enregistrez le fichier PDF mis à jour
doc.Save("output.pdf");

Obtenez une licence gratuite

Vous pouvez utiliser Aspose.PDF for .NET sans limitation d’évaluation à l’aide d’une licence temporaire.

Conclusion

Dans cet article, vous avez appris à ajouter du texte aux fichiers PDF existants à l’aide de C#. De plus, vous avez vu comment ajouter dynamiquement du texte transparent à un PDF. Vous pouvez en savoir plus sur l’API C# PDF à l’aide de la documentation. Vous pouvez également poster vos questions sur notre forum.

Voir également