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.
- Innanzitutto, crea un nuovo documento utilizzando la classe Document.
- Quindi, aggiungi una pagina al documento e ottieni il suo riferimento usando il metodo Document.getPages().add().
- Successivamente, crea un nuovo frammento di testo usando la classe TextFragment.
- Imposta la posizione e il carattere del frammento di testo.
- Imposta l’angolo di rotazione usando il metodo TextFragment.getTextState().setRotation().
- Crea un nuovo oggetto TextBuilder e inizializzalo con l’oggetto Page.
- Usa il metodo TextBuilder.appendText(TextFragment) per aggiungere testo alla pagina.
- Infine, salva il documento PDF utilizzando il metodo Document.save(string).
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 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.
- Innanzitutto, crea un nuovo documento utilizzando la classe Document.
- Quindi, aggiungi una pagina al documento e ottieni il suo riferimento usando il metodo Document.getPages().add().
- Successivamente, crea un nuovo oggetto TextParagraph.
- Crea un nuovo frammento di testo usando la classe TextFragment e imposta il testo e il carattere.
- Impostare l’angolo di rotazione utilizzando il metodo TextFragment.getTextState().setRotation().
- Aggiungi testo al paragrafo usando il metodo TextParagraph.appendLine(TextFragment).
- Crea un nuovo oggetto TextBuilder e inizializzalo con l’oggetto Page.
- Usa il metodo TextBuilder.appendParagraph(TextParagraph) per aggiungere un paragrafo alla pagina.
- Infine, salva il documento PDF utilizzando il metodo Document.save(string).
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
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.