Suche…


Bemerkungen

In dem ursprünglichen Entwurf für iText war es möglich , ein High-Level zu erstellen Document - Objekt, und dann andere haben DocListener Objekte zu diesem hören Document - Objekt. Dies wurde durch die Verwendung verschiedener Autoren erreicht: ein PdfWriter , ein HTMLWriter und ein RtfWriter . Wenn Sie einen PdfWriter , wurde ein PdfDocument intern erstellt. Diese einfache Klasse kümmerte sich um alle PDF-bezogenen Strukturen. Ähnliches galt für die anderen Formate.

Im Laufe der Jahre spezialisierte sich iText und es wurde eine reine PDF-Bibliothek. Die Erstellung von HTML und RTF wurde aufgegeben. Daher war es nicht mehr erforderlich, ein Document vor dem Erstellen eines PdfWriter zu erstellen. Wir mussten jedoch an der ursprünglichen Architektur PdfWriter , da wir nicht bereit waren, die API zu brechen.

Im Laufe der Jahre haben wir iText immer mehr PDF-Funktionen hinzugefügt, und die Tatsache, dass PdfDocument eine Klasse für den internen Gebrauch war, wurde nur problematisch. Wir haben Workarounds verwendet, um neue PDF-Funktionen PdfDocument , die bis zur PdfDocument an der PdfDocument des als akzeptabel eingestuften PdfDocument liegenden PdfDocument Klasse gehörten.

Wir beschlossen, iText von Grund auf neu zu schreiben und eine komplett neue Architektur für iText zu erstellen. Jetzt haben wir eine klare Unterscheidung zwischen PdfDocument (für Low-Level-Vorgänge) und Document (für High-Level-Funktionalität). Wir müssen das Dokument nicht mehr öffnen, und wenn wir den Try-with-Resources- Ansatz verwenden, müssen wir es nicht einmal selbst schließen.

Möchten Sie mehr wissen? Holen Sie sich das kostenlose E-Book!

HelloWorld.java (iText 5)

Angenommen, wir möchten ein einfaches Hello World-Dokument erstellen:

Geben Sie hier die Bildbeschreibung ein

In iText 5 würde dies folgendermaßen erfolgen:

public void createPdf(String dest)
    throws DocumentException, IOException {
    Document document = new Document();
    PdfWriter.getInstance(
        document, new FileOutputStream(dest));
    document.open();
    document.add(new Paragraph("Hello World!"));
    document.close();
}

Quelle: developer.itextpdf.com

HelloWorld1.java und HelloWorld2.java (iText 7)

Angenommen, wir wollten ein einfaches Hello World-Dokument erstellen:

Geben Sie hier die Bildbeschreibung ein

In iText 7 könnten wir das so machen:

public void createPdf(String dest) throws IOException {
    PdfDocument pdf = new PdfDocument(new PdfWriter(dest));
    Document document = new Document(pdf);
    document.add(new Paragraph("Hello World!"));
    document.close();
}

Oder wir könnten es sogar so machen:

public void createPdf(String dest) throws IOException {
    PdfDocument pdf = new PdfDocument(new PdfWriter(dest));
    try (Document document = new Document(pdf)) {
        document.add(new Paragraph("Hello World!"));
    }
}

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