Faire pivoter du texte dans des documents PDF en Java

PDF est un format de document multiplateforme qui fournit une mise en page cohérente sur différents systèmes d’exploitation. Il est largement utilisé pour générer et partager des documents, tels que des articles de recherche, des factures, etc. Lors de la génération de fichiers PDF par programmation, vous devez souvent modifier la position et l’orientation du texte en fonction de la mise en page du document. Dans cet article, nous allons vous montrer comment faire pivoter du texte dans des documents PDF en Java.

API Java pour faire pivoter du texte dans un PDF

Pour faire pivoter du texte dans des fichiers PDF, nous utiliserons Aspose.PDF for Java. Il s’agit d’une bibliothèque puissante qui fournit des fonctionnalités de manipulation PDF de base et avancées. Vous pouvez télécharger l’API ou l’installer à l’aide des configurations Maven suivantes.

Repository:

    <id>AsposeJavaAPI</id>
    <name>Aspose Java API</name>
    <url>https://repository.aspose.com/repo/</url>
</repository>

Dependency:

<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-pdf</artifactId>
    <version>22.4</version>
</dependency>

Faire pivoter le texte dans un PDF en Java

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 Java

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

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

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

// Obtenir une page particulière
Page pdfPage = pdfDocument.getPages().add();

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

// Définir les propriétés du texte
textFragment1.getTextState().setFontSize(12);
textFragment1.getTextState().setFont(FontRepository.findFont("TimesNewRoman"));

// Créer un fragment de texte pivoté
TextFragment textFragment2 = new TextFragment("rotated text");
textFragment2.setPosition(new Position(200, 600));
// Définir les propriétés du texte
textFragment2.getTextState().setFontSize(12);
textFragment2.getTextState().setFont(FontRepository.findFont("TimesNewRoman"));
textFragment2.getTextState().setRotation(45);

// Créer un fragment de texte pivoté
TextFragment textFragment3 = new TextFragment("rotated text");
textFragment3.setPosition(new Position(300, 600));

// Définir les propriétés du texte
textFragment3.getTextState().setFontSize(12);
textFragment3.getTextState().setFont(FontRepository.findFont("TimesNewRoman"));
textFragment3.getTextState().setRotation(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("Rotate_Text_TextFragment.pdf");

Production

Rotation de texte PDF à l'aide de TextFragment en Java

Rotation de texte PDF à l’aide de TextParagraph en Java

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
Page pdfPage = (Page) pdfDocument.getPages().add();

// Créer un paragraphe de texte
TextParagraph paragraph = new TextParagraph();
paragraph.setPosition(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.getTextState().setFontSize(12);
textFragment1.getTextState().setFont(FontRepository.findFont("TimesNewRoman"));

// Définir la rotation
textFragment1.getTextState().setRotation(45);

// Créer un fragment de texte
TextFragment textFragment2 = new TextFragment("main text");

// Définir les propriétés du texte
textFragment2.getTextState().setFontSize(12);
textFragment2.getTextState().setFont(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.getTextState().setFontSize(12);
textFragment3.getTextState().setFont(FontRepository.findFont("TimesNewRoman"));

// Définir la rotation
textFragment3.getTextState().setRotation(-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("Rotate_Text_TextParagraph.pdf");

Production

Rotation de texte PDF à l'aide de TextParagraph en Java

Obtenez une licence API gratuite

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

Conclusion

Dans cet article, vous avez appris à faire pivoter du texte dans un PDF par programmation à l’aide de Java. Nous avons expliqué comment faire pivoter du texte à l’aide des classes TextFragment et TextParagraph. De plus, vous pouvez en savoir plus sur Aspose.PDF for Java en utilisant la documentation. Si vous avez des questions ou des questions, vous pouvez nous contacter via notre forum.

Voir également