Zoeken…


Opmerkingen

In het oorspronkelijke ontwerp voor iText was het mogelijk om een Document object op hoog niveau te maken en vervolgens verschillende DocListener objecten te laten luisteren naar dat Document object. Dit werd bereikt door verschillende schrijvers te gebruiken: een PdfWriter , een HTMLWriter en een RtfWriter . Bij gebruik van een PdfWriter , een PdfDocument intern werd gecreëerd. Deze klasse op laag niveau zorgde voor alle PDF-gerelateerde structuren. Hetzelfde gold min of meer voor de andere formaten.

In de loop der jaren specialiseerde iText zich en werd het een pure PDF-bibliotheek. Het maken van HTML en RTF werd verlaten, dus het was niet langer nodig om een Document te maken voordat we een PdfWriter , maar we moesten ons aan de oorspronkelijke architectuur houden omdat we niet klaar waren om de API te breken.

In de loop der jaren hebben we steeds meer PDF-functionaliteit aan iText toegevoegd, en het feit dat PdfDocument een klasse voor intern gebruik was, werd alleen maar problematisch. We hebben PdfDocument oplossingen gebruikt, zodat we nieuwe PDF-functies konden introduceren die tot de klasse PdfDocument behoorden tot het moment dat we het plafond bereikten van wat we als PdfDocument oplossingen acceptabel vonden.

Toen besloten we om iText helemaal opnieuw te schrijven en een volledig nieuwe architectuur voor iText te creëren. Nu hebben we een duidelijk onderscheid tussen het PdfDocument (voor bewerkingen op laag niveau) en het Document (voor functionaliteit op hoog niveau). We hoeven het document niet langer te openen en als we de try-with-resources- aanpak gebruiken, hoeven we het niet eens zelf te sluiten.

Wil meer weten? Ontvang het gratis ebook!

HelloWorld.java (iText 5)

Stel dat we een eenvoudig Hello World-document willen maken:

voer hier de afbeeldingsbeschrijving in

In iText 5 zou dit als volgt gebeuren:

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();
}

Bron: developers.itextpdf.com

HelloWorld1.java en HelloWorld2.java (iText 7)

Stel dat we een eenvoudig Hello World-document wilden maken:

voer hier de afbeeldingsbeschrijving in

In iText 7 zouden we dat zo kunnen doen:

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();
}

Of we kunnen het zelfs zo doen:

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!"));
    }
}

Bron: developers.itextpdf.com en de tutorial iText 7: Building Blocks .



Modified text is an extract of the original Stack Overflow Documentation
Licentie onder CC BY-SA 3.0
Niet aangesloten bij Stack Overflow