Ruota il testo all'interno di documenti PDF in Java

PDF è un formato di documento multipiattaforma che fornisce un layout coerente su diversi sistemi operativi. È ampiamente utilizzato per generare e condividere documenti, come articoli di ricerca, fatture, ecc. Durante la generazione di file PDF in modo programmatico, spesso è necessario modificare la posizione e l’orientamento del testo in base al layout del documento. In questo articolo, ti mostreremo come ruotare il testo all’interno di documenti PDF in Java.

API Java per ruotare il testo in PDF

Per ruotare il testo all’interno dei file PDF, utilizzeremo Aspose.PDF per Java. È una potente libreria che fornisce funzionalità di manipolazione PDF di base e avanzate. Puoi scaricare l’API o installarla utilizzando le seguenti configurazioni Maven.

Archivio:

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

Dipendenza:

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

Ruota il testo all’interno del PDF in Java

Esistono diversi modi per ruotare un testo all’interno di un documento PDF. Puoi ruotare un frammento di testo o l’intero paragrafo. Vediamo come funziona ciascuna di queste rotazioni di testo.

Rotazione del testo PDF utilizzando TextFragment in Java

Di seguito sono riportati i passaggi per ruotare un frammento di testo in un documento PDF utilizzando Java.

L’esempio di codice seguente mostra come ruotare il testo in un documento PDF in Java.

// Inizializza oggetto documento
Document pdfDocument = new Document();

// Ottieni una pagina particolare
Page pdfPage = pdfDocument.getPages().add();

// Crea frammento di testo
TextFragment textFragment1 = new TextFragment("main text");
textFragment1.setPosition(new Position(100, 600));

// Imposta le proprietà del testo
textFragment1.getTextState().setFontSize(12);
textFragment1.getTextState().setFont(FontRepository.findFont("TimesNewRoman"));

// Crea frammento di testo ruotato
TextFragment textFragment2 = new TextFragment("rotated text");
textFragment2.setPosition(new Position(200, 600));
// Imposta le proprietà del testo
textFragment2.getTextState().setFontSize(12);
textFragment2.getTextState().setFont(FontRepository.findFont("TimesNewRoman"));
textFragment2.getTextState().setRotation(45);

// Crea frammento di testo ruotato
TextFragment textFragment3 = new TextFragment("rotated text");
textFragment3.setPosition(new Position(300, 600));

// Imposta le proprietà del testo
textFragment3.getTextState().setFontSize(12);
textFragment3.getTextState().setFont(FontRepository.findFont("TimesNewRoman"));
textFragment3.getTextState().setRotation(90);

// Crea oggetto TextBuilder
TextBuilder textBuilder = new TextBuilder(pdfPage);

// Aggiungi il frammento di testo alla pagina PDF
textBuilder.appendText(textFragment1);
textBuilder.appendText(textFragment2);
textBuilder.appendText(textFragment3);

// Salva documento
pdfDocument.save("Rotate_Text_TextFragment.pdf");

Produzione

Rotazione del testo PDF utilizzando TextFragment in Java

Rotazione del testo PDF utilizzando TextParagraph in Java

Puoi anche applicare la rotazione al testo durante la creazione di un nuovo paragrafo. Questo può essere ottenuto usando la classe TextParagraph. Di seguito sono riportati i passaggi per applicare la rotazione del testo utilizzando la classe TextParagraph.

L’esempio di codice seguente mostra come ruotare il testo all’interno di un paragrafo in PDF a livello di codice.

// Inizializza oggetto documento
Document pdfDocument = new Document();

// Ottieni una pagina particolare
Page pdfPage = (Page) pdfDocument.getPages().add();

// Crea paragrafo di testo
TextParagraph paragraph = new TextParagraph();
paragraph.setPosition(new Position(200, 600));

// Crea frammento di testo
TextFragment textFragment1 = new TextFragment("rotated text");

// Imposta le proprietà del testo
textFragment1.getTextState().setFontSize(12);
textFragment1.getTextState().setFont(FontRepository.findFont("TimesNewRoman"));

// Imposta la rotazione
textFragment1.getTextState().setRotation(45);

// Crea frammento di testo
TextFragment textFragment2 = new TextFragment("main text");

// Imposta le proprietà del testo
textFragment2.getTextState().setFontSize(12);
textFragment2.getTextState().setFont(FontRepository.findFont("TimesNewRoman"));

// Crea frammento di testo
TextFragment textFragment3 = new TextFragment("another rotated text");

// Imposta le proprietà del testo
textFragment3.getTextState().setFontSize(12);
textFragment3.getTextState().setFont(FontRepository.findFont("TimesNewRoman"));

// Imposta la rotazione
textFragment3.getTextState().setRotation(-45);

// Aggiungi i frammenti di testo al paragrafo
paragraph.appendLine(textFragment1);
paragraph.appendLine(textFragment2);
paragraph.appendLine(textFragment3);

// Crea oggetto TextBuilder
TextBuilder textBuilder = new TextBuilder(pdfPage);

// Aggiungi il paragrafo di testo alla pagina PDF
textBuilder.appendParagraph(paragraph);

// Salva documento
pdfDocument.save("Rotate_Text_TextParagraph.pdf");

Produzione

Rotazione del testo PDF utilizzando TextParagraph in Java

Ottieni una licenza API gratuita

Puoi provare Aspose.PDF per Java gratuitamente ottenendo una licenza temporanea.

Conclusione

In questo articolo, hai imparato a ruotare il testo in PDF a livello di codice utilizzando Java. Abbiamo spiegato come ruotare il testo usando le classi TextFragment e TextParagraph. Inoltre, puoi esplorare di più su Aspose.PDF per Java utilizzando la documentazione. In caso di domande o domande, puoi contattarci tramite il nostro forum.

Guarda anche