iText - Impostazione del carattere
In questo capitolo, vedremo come impostare il colore e il carattere per il testo in un documento PDF utilizzando la libreria iText.
Impostazione del carattere del testo in un PDF
È possibile creare un documento PDF vuoto istanziando il file Documentclasse. Durante la creazione di un'istanza di questa classe, è necessario superare un filePdfDocument oggetto come parametro del suo costruttore.
Per aggiungere un paragrafo al documento, è necessario creare un'istanza del file Paragraph class e aggiungi questo oggetto al documento usando il add()metodo. È possibile impostare il colore e il carattere del testo utilizzando i metodisetFontColor() e setFont() rispettivamente.
Di seguito sono riportati i passaggi per impostare il colore e il carattere sul testo in un documento PDF.
Passaggio 1: creazione di un oggetto PdfWriter
Il PdfWriterclass rappresenta il DocWriter per un PDF. Questa classe appartiene al pacchettocom.itextpdf.kernel.pdf. Il costruttore di questa classe accetta una stringa, che rappresenta il percorso del file in cui deve essere creato il PDF.
Istanziare la classe PdfWriter passando un valore stringa (che rappresenta il percorso in cui è necessario creare un PDF) al suo costruttore, come mostrato di seguito.
// Creating a PdfWriter
String dest = "C:/itextExamples/fonts.pdf";
PdfWriter writer = new PdfWriter(dest);
Quando un oggetto di questo tipo viene passato a un PdfDocument (classe), ogni elemento aggiunto a questo documento verrà scritto nel file specificato.
Passaggio 2: creazione di un documento PDF
Il PdfDocumentclass è la classe che rappresenta il documento PDF in iText. Questa classe appartiene al pacchettocom.itextpdf.kernel.pdf. Per istanziare questa classe (in modalità di scrittura), è necessario passare un oggetto della classePdfWriter al suo costruttore.
Creare un'istanza della classe PdfDocument passando l'oggetto PdfWriter al relativo costruttore, come mostrato di seguito.
// Creating a PdfDocument
PdfDocument pdfDoc = new PdfDocument(writer);
Una volta creato un oggetto PdfDocument, è possibile aggiungere vari elementi come pagina, font, file allegati e gestore eventi utilizzando i rispettivi metodi forniti dalla sua classe.
Passaggio 3: creazione della classe Document
Il Document classe del pacchetto com.itextpdf.layoutè l'elemento principale durante la creazione di un PDF autosufficiente. Uno dei costruttori di questa classe accetta un oggetto della classe PdfDocument.
Istanziare la classe Document passando l'oggetto della classe PdfDocument creato nei passaggi precedenti, come mostrato di seguito.
// Creating a Document
Document document = new Document(pdfDoc);
Passaggio 4: creazione del testo
Crea il testo istanziando il file Text classe del pacchetto com.itextpdf.layout.element come mostrato di seguito.
// Creating text object
Text text = new Text("Tutorialspoint");
Passaggio 5: impostazione del carattere e del colore del testo
Crea il file PdfFont oggetto utilizzando il createFont() metodo della classe PdfFontFactory del pacchetto com.itextpdf.kernel.font come mostrato di seguito
// Setting font of the text PdfFont
font = PdfFontFactory.createFont(FontConstants.HELVETICA_BOLD);
Ora, imposta il carattere sul testo usando il setFont() metodo del Textclass a questo metodo. Passa ilPdfFont oggetto come parametro, come mostrato di seguito.
text1.setFont(font);
Per impostare il colore del testo, richiamare il file setFontColor() metodo della classe Text, come mostrato di seguito.
// Setting font color
text.setFontColor(Color.GREEN);
Passaggio 6: aggiunta di testo al paragrafo
Creare un Paragraph oggetto di classe e aggiungi il testo creato sopra usando il suo add() metodo, come mostrato di seguito.
// Creating Paragraph
Paragraph paragraph = new Paragraph();
// Adding text to the paragraph
paragraph.add(text);
Passaggio 7: aggiunta di un paragrafo al documento
Aggiungi il paragrafo al documento usando il add() metodo del Document classe, come mostrato di seguito.
doc.add(paragraph1)
Passaggio 8: chiusura del documento
Chiudere il documento utilizzando il file close() metodo del Document classe, come mostrato di seguito.
// Closing the document
document.close();
Esempio
Il seguente programma Java dimostra come impostare il colore e il carattere sul testo in un PDF utilizzando la libreria iText. Crea un documento PDF con il nomefonts.pdf, formatta il testo e lo salva nel percorso C:/itextExamples/
Salva questo codice in un file con il nome FormatingTheText.java.
import com.itextpdf.io.font.FontConstants;
import com.itextpdf.kernel.color.Color;
import com.itextpdf.kernel.font.PdfFontFactory;
import com.itextpdf.kernel.font.PdfFont;
import com.itextpdf.kernel.pdf.PdfDocument;
import com.itextpdf.kernel.pdf.PdfWriter;
import com.itextpdf.layout.Document;
import com.itextpdf.layout.element.Paragraph;
import com.itextpdf.layout.element.Text;
public class FormatingTheText {
public static void main(String args[]) throws Exception {
// Creating a PdfWriter object
String dest = "C:/itextExamples/fonts.pdf";
PdfWriter writer = new PdfWriter(dest);
// Creating a PdfDocument object
PdfDocument pdf = new PdfDocument(writer);
// Creating a Document object
Document doc = new Document(pdf);
// Creating text object
Text text1 = new Text("Tutorialspoint");
// Setting font of the text
PdfFont font = PdfFontFactory.createFont(FontConstants.HELVETICA_BOLD);
text1.setFont(font);
// Setting font color
text1.setFontColor(Color.GREEN);
// Creating text object
Text text2 = new Text("Simply Easy Learning");
text2.setFont(PdfFontFactory.createFont(FontConstants.HELVETICA));
// Setting font color
text2.setFontColor(Color.BLUE);
// Creating Paragraph
Paragraph paragraph1 = new Paragraph();
// Adding text1 to the paragraph
paragraph1.add(text1);
paragraph1.add(text2);
// Adding paragraphs to the document
doc.add(paragraph1);
doc.close();
System.out.println("Text added to pdf ..");
}
}
Compilare ed eseguire il file Java salvato dal prompt dei comandi utilizzando i seguenti comandi:
javac FormatingTheText.java
java FormatingTheText
Al momento dell'esecuzione, il programma di cui sopra crea un documento PDF che mostra il seguente messaggio.
Text added to pdf ..
Se verifichi il percorso specificato, puoi trovare il documento PDF creato, come mostrato di seguito.