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:

Geben Sie hier die Bildbeschreibung ein

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:

Geben Sie hier die Bildbeschreibung ein

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 .



Modified text is an extract of the original Stack Overflow Documentation
Lizenziert unter CC BY-SA 3.0
Nicht angeschlossen an Stack Overflow