Faire Pivoter le Texte à l'Intérieur du PDF

Faire Pivoter le Texte à l’Intérieur du PDF en Utilisant la Propriété de Rotation

En utilisant la méthode setRotation de la classe TextFragment, vous pouvez faire pivoter le texte à différents angles. La rotation du texte peut être utilisée dans différents scénarios de génération de documents. Vous pouvez spécifier l’angle de rotation en degrés pour faire pivoter le texte selon vos besoins. Veuillez vérifier les différents scénarios suivants, dans lesquels vous pouvez mettre en œuvre la rotation du texte.

Mettre en œuvre la Rotation en Utilisant TextFragment et TextBuilder

public class ExampleRotateText {
    private static String _dataDir = "/home/admin1/pdf-examples/Samples/";

    public static void ImplementRotationUsingTextFragmentAndTextBuilder() {

        // 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(_dataDir + "TextFragmentTests_Rotated1_out.pdf");
    }
}

Implémenter la Rotation en utilisant TextParagraph et TextBuilder (Fragments Tournés)

public static void ImplementRotationUsingTextParagraphAndTextBuilder_RotatedFragments() {

    // Initialiser l'objet document
    Document pdfDocument = new Document();
    // Obtenir une page particulière
    Page pdfPage = (Page) pdfDocument.getPages().add();
    TextParagraph paragraph = new TextParagraph();
    paragraph.setPosition(new Position(200, 600));
    // Créer un fragment de texte
    TextFragment textFragment1 = new TextFragment("texte tourné");
    // 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("texte principal");
    // 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("un autre texte tourné");
    // 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(_dataDir + "TextFragmentTests_Rotated2_out.pdf");
}

Implémenter la Rotation en utilisant TextFragment et Page.Paragraphs

public static void ImplementRotationUsingTextFragmentAndPageParagraphs() {
    // Initialiser l'objet document
    Document pdfDocument = new Document();
    // Obtenir une page particulière
    Page pdfPage = (Page) pdfDocument.getPages().add();
    // Créer un fragment de texte
    TextFragment textFragment1 = new TextFragment("texte principal");
    // Définir les propriétés du texte
    textFragment1.getTextState().setFontSize(12);
    textFragment1.getTextState().setFont(FontRepository.findFont("TimesNewRoman"));

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

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

    // Définir la rotation
    textFragment2.getTextState().setRotation(315);

    // Créer un fragment de texte
    TextFragment textFragment3 = new TextFragment("texte tourné");
    // 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(270);
    pdfPage.getParagraphs().add(textFragment1);
    pdfPage.getParagraphs().add(textFragment2);
    pdfPage.getParagraphs().add(textFragment3);

    // Enregistrer le document
    pdfDocument.save(_dataDir + "TextFragmentTests_Rotated3_out.pdf");
    }

Implémenter la Rotation en utilisant TextParagraph et TextBuilder (Paragraphe Entier Tourné)

public static void ImplementRotationUsingTextParagraphAndTextBuilder() {

    // Initialiser l'objet document
    Document pdfDocument = new Document();
    // Obtenir une page particulière
    Page pdfPage = pdfDocument.getPages().add();
    for (int i = 0; i < 4; i++) {
        TextParagraph paragraph = new TextParagraph();
        paragraph.setPosition(new Position(200, 600));
        // Spécifier la rotation
        paragraph.setRotation(i * 90 + 45);
        // Créer un fragment de texte
        TextFragment textFragment1 = new TextFragment("Texte du Paragraphe");
        // Créer un fragment de texte
        textFragment1.getTextState().setFontSize(12);
        textFragment1.getTextState().setFont(FontRepository.findFont("TimesNewRoman"));
        textFragment1.getTextState().setBackgroundColor(Color.getLightGray());
        textFragment1.getTextState().setForegroundColor(Color.getBlue());

        // Créer un fragment de texte
        TextFragment textFragment2 = new TextFragment("Deuxième ligne de texte");
        // Définir les propriétés du texte
        textFragment2.getTextState().setFontSize(12);
        textFragment2.getTextState().setFont(FontRepository.findFont("TimesNewRoman"));
        textFragment2.getTextState().setBackgroundColor(Color.getLightGray());
        textFragment2.getTextState().setForegroundColor(Color.getBlue());

        // Créer un fragment de texte
        TextFragment textFragment3 = new TextFragment("Et encore un peu de texte...");
        // Définir les propriétés du texte
        textFragment3.getTextState().setFontSize(12);
        textFragment3.getTextState().setFont(FontRepository.findFont("TimesNewRoman"));
        textFragment3.getTextState().setBackgroundColor(Color.getLightGray());
        textFragment3.getTextState().setForegroundColor(Color.getBlue());
        textFragment3.getTextState().setUnderline(true);

        paragraph.appendLine(textFragment1);
        paragraph.appendLine(textFragment2);
        paragraph.appendLine(textFragment3);
        // Créer un objet TextBuilder
        TextBuilder textBuilder = new TextBuilder(pdfPage);
        // Ajouter le fragment de texte à la page PDF
        textBuilder.appendParagraph(paragraph);
    }
    // Enregistrer le document
    pdfDocument.save(_dataDir + "TextFragmentTests_Rotated4_out.pdf");
}