itext
Styles: iText 5 versus iText 7
Suche…
Bemerkungen
Das Erstellen eines Dokuments, in dem Sie zwischen Formaten wechseln müssen, ist in iText 5 häufig langweilig. Sie müssen viele Chunk
Objekte erstellen, und Sie müssen immer einen Kompromiss zwischen dem Anwenden der Stile auf jeden neuen Chunk
oder das Erstellen machen eine Hilfsmethode, die den Chunk
für Sie erstellt.
Was wir in iText 7 behoben haben:
Es ist jetzt möglich, Methoden zu verketten. Die setFont()
, setFontSize()
, addStyle()
und andere Methoden geben das Objekt zurück, für das sie aufgerufen werden. Das Hinzufügen eines Paragraph
mit verschiedenen Stilen kann jetzt in einer Zeile erfolgen:
document.add(
new Paragraph()
.add("In this example, named ")
.add(new Text("HelloWorldStyles").addStyle(style))
.add(", we experiment with some text in ")
.add(new Text("code style").addStyle(style))
.add("."));
Mit dem Style
Objekt können Sie jetzt auch andere Eigenschaften (Schriftart, Schriftfarbe, Hintergrundfarbe, Schriftgröße, ...) auf einmal mit der addStyle()
Methode addStyle()
.
Möchten Sie mehr wissen?
Lesen Sie dazu Einführung in die PdfFont-Klasse aus Kapitel 1 des Lernprogramms " iText 7: Building Blocks" . Holen Sie sich das kostenlose E-Book!
HelloWorldStyles.java (iText 5)
In diesem iText 5-Beispiel müssen wir zwischen verschiedenen Stilen in demselben Dokument wechseln:
In iText 5 können Sie dies am besten tun, indem Sie eine bequeme Methode erstellen, mit der ein Chunk
im Stil erstellt wird, der häufig verwendet werden muss. siehe die createBgChunk()
-Methode:
public Chunk createBgChunk(String s, Font font) {
Chunk chunk = new Chunk(s, font);
chunk.setBackground(BaseColor.LIGHT_GRAY);
return chunk;
}
Wir können diese Methode jetzt in dem Code verwenden, der die PDF erstellt:
public void createPdf(String dest)
throws DocumentException, IOException {
Document document = new Document();
PdfWriter.getInstance(document, new FileOutputStream(dest));
document.open();
Font code = new Font(FontFamily.COURIER, 12, Font.NORMAL, BaseColor.RED);
Paragraph p = new Paragraph("In this example, named ");
p.add(createBgChunk("HelloWorldStyles", code));
p.add(", we experiment with some text in ");
p.add(createBgChunk("code style", code));
p.add(".");
document.add(p);
document.close();
}
Quelle: developer.itextpdf.com
HelloWorldStyles.java (iText 7)
In diesem iText 7-Beispiel müssen wir zwischen verschiedenen Stilen in demselben Dokument wechseln:
In iText 7 erreichen Sie dies am besten, indem Sie ein Style
Objekt erstellen und diesen Style
auf ein Text
Objekt anwenden:
public void createPdf(String dest) throws IOException {
PdfDocument pdf = new PdfDocument(new PdfWriter(dest));
PdfFont code = PdfFontFactory.createFont(FontConstants.COURIER);
Style style = new Style()
.setFont(code)
.setFontSize(12)
.setFontColor(Color.RED)
.setBackgroundColor(Color.LIGHT_GRAY);
try (Document document = new Document(pdf)) {
document.add(
new Paragraph()
.add("In this example, named ")
.add(new Text("HelloWorldStyles").addStyle(style))
.add(", we experiment with some text in ")
.add(new Text("code style").addStyle(style))
.add("."));
}
}
Quelle: developer.itextpdf.com und das Tutorial zu iText 7: Bausteine .