Faire pivoter le texte dans les documents PDF en C#

PDF est devenu un format de document dominant dans le monde numérique. Sa prise en charge multiplateforme en a fait un format largement adopté pour générer et partager des documents, tels que des articles de recherche, des factures, etc. Lors de la génération d’un PDF par programme, vous devez souvent modifier la position et l’orientation du texte en fonction de la mise en page de le document. Dans cet article, nous allons montrer comment faire pivoter du texte dans des documents PDF par programmation dans C# .NET.

API C# .NET pour faire pivoter du texte dans un PDF

Aspose.PDF for .NET est une bibliothèque de classes C# qui fournit des fonctionnalités de manipulation PDF de base et avancées pour les applications .NET. À l’aide de l’API, vous pouvez générer des documents PDF avec des mises en page simples ou complexes de manière transparente. Nous utiliserons cette API pour faire pivoter du texte dans des documents PDF. Vous pouvez soit télécharger la DLL de l’API, soit l’installer à l’aide de NuGet.

PM> Install-Package Aspose.PDF

Faire pivoter le texte dans un PDF en C#

Il existe plusieurs façons de faire pivoter un texte dans un document PDF. Vous pouvez soit faire pivoter un fragment de texte, soit le paragraphe complet. Voyons comment fonctionne chacune de ces rotations de texte.

Rotation de texte PDF à l’aide de TextFragment en C#

Voici les étapes pour faire pivoter un fragment de texte dans un document PDF à l’aide de C#.

L’exemple de code suivant montre comment faire pivoter du texte dans un document PDF en C#.

// Initialiser l'objet document
Document pdfDocument = new Document();
            
// Obtenir une page particulière
var pdfPage = pdfDocument.Pages.Add();
            
// Créer un fragment de texte
TextFragment textFragment1 = new TextFragment("main text");
textFragment1.Position = new Position(100, 600);
            
// Définir les propriétés du texte
textFragment1.TextState.FontSize = 12;
textFragment1.TextState.Font = FontRepository.FindFont("TimesNewRoman");
            
// Créer un fragment de texte pivoté
TextFragment textFragment2 = new TextFragment("rotated text");
textFragment2.Position = new Position(200, 600);
            
// Définir les propriétés du texte
textFragment2.TextState.FontSize = 12;
textFragment2.TextState.Font = FontRepository.FindFont("TimesNewRoman");
textFragment2.TextState.Rotation = 45;
            
// Créer un fragment de texte pivoté
TextFragment textFragment3 = new TextFragment("rotated text");
textFragment3.Position = new Position(300, 600);
            
// Définir les propriétés du texte
textFragment3.TextState.FontSize = 12;
textFragment3.TextState.Font = FontRepository.FindFont("TimesNewRoman");
textFragment3.TextState.Rotation = 90;
            
// créer un objet TextBuilder
TextBuilder textBuilder = new TextBuilder(pdfPage);
            
// Ajouter le fragment de texte à la page PDF
textBuilder.AppendText(textFragment1);
textBuilder.AppendText(textFragment2);
textBuilder.AppendText(textFragment3);
            
// Enregistrer le document
pdfDocument.Save("Rotation_TextFragment.pdf");

Production

Rotation de texte PDF à l'aide de TextFragment en C#

Rotation de texte PDF à l’aide de TextParagraph en C#

Vous pouvez également appliquer une rotation au texte lors de la création d’un nouveau paragraphe. Ceci peut être réalisé en utilisant la classe TextParagraph. Voici les étapes pour appliquer la rotation du texte à l’aide de la classe TextParagraph.

L’exemple de code suivant montre comment faire pivoter du texte à l’intérieur d’un paragraphe dans un PDF par programmation.

// Initialiser l'objet document
Document pdfDocument = new Document();
           
// Obtenir une page particulière
var pdfPage = pdfDocument.Pages.Add();
TextParagraph paragraph = new TextParagraph();
paragraph.Position = new Position(200, 600);
            
// Créer un fragment de texte
TextFragment textFragment1 = new TextFragment("rotated text");
            
// Définir les propriétés du texte
textFragment1.TextState.FontSize = 12;
textFragment1.TextState.Font = FontRepository.FindFont("TimesNewRoman");
            
// Définir la rotation
textFragment1.TextState.Rotation = 45;
            
// Créer un fragment de texte
TextFragment textFragment2 = new TextFragment("main text");
            
// Définir les propriétés du texte
textFragment2.TextState.FontSize = 12;
textFragment2.TextState.Font = FontRepository.FindFont("TimesNewRoman");
            
// Créer un fragment de texte
TextFragment textFragment3 = new TextFragment("another rotated text");
            
// Définir les propriétés du texte
textFragment3.TextState.FontSize = 12;
textFragment3.TextState.Font = FontRepository.FindFont("TimesNewRoman");
            
// Définir la rotation
textFragment3.TextState.Rotation = -45;
            
// Ajouter les fragments de texte au paragraphe
paragraph.AppendLine(textFragment1);
paragraph.AppendLine(textFragment2);
paragraph.AppendLine(textFragment3);
            
// Créer un objet TextBuilder
TextBuilder textBuilder = new TextBuilder(pdfPage);
            
// Ajouter le paragraphe de texte à la page PDF
textBuilder.AppendParagraph(paragraph);

// Enregistrer le document
pdfDocument.Save("Rotation_TextParagraph.pdf");

Production

Rotation de texte PDF à l'aide de TextParagraph en C#

Obtenez une licence API gratuite

Vous pouvez essayer gratuitement Aspose.PDF for .NET en obtenant une licence temporaire.

Conclusion

L’automatisation PDF est largement adoptée pour créer et manipuler des documents PDF à partir d’applications Web ou de bureau. Dans cet article, vous avez appris à faire pivoter du texte dans un PDF par programmation à l’aide de C#. Nous avons expliqué explicitement comment faire pivoter du texte à l’aide des classes TextFragment et TextParagraph. En outre, vous pouvez explorer d’autres fonctionnalités à l’aide de la documentation d’Aspose.PDF for .NET. Si vous avez des questions ou des questions, vous pouvez nous contacter via notre forum.

Voir également