Sök…


Anmärkningar

I den ursprungliga designen för iText var det möjligt att skapa ett Document hög nivå och sedan ha olika DocListener objekt lyssna på det Document . Detta uppnåddes genom att använda olika författare: en PdfWriter , en HTMLWriter och en RtfWriter . När du använder en PdfWriter ett PdfDocument internt. Denna klass på låg nivå tog hand om alla PDF-relaterade strukturer. Mer eller mindre samma sak för de andra formaten.

Under åren har iText specialiserat sig och det blev ett rent PDF-bibliotek. Skapandet av HTML och RTF övergavs, därför var det inte längre nödvändigt att skapa ett Document innan vi skapade en PdfWriter , men vi var tvungna att hålla oss till den ursprungliga arkitekturen eftersom vi inte var redo att bryta API: n.

Under åren har vi lagt till mer och mer PDF-funktioner till iText, och det faktum att PdfDocument var en klass för internt bruk blev bara problematisk. Vi använde lösningar så att vi kunde introducera nya PDF-funktioner som hörde till i PdfDocument klassen fram till det att vi nådde taket för vad vi ansåg acceptabla som lösningar.

Det var då vi beslutade att skriva om iText från grunden och skapa en helt ny arkitektur för iText. Nu har vi en tydlig åtskillnad mellan PdfDocument (för PdfDocument ) och Document (för högnivåfunktioner). Vi behöver inte längre öppna dokumentet, och om vi använder metoden för försök med resurser behöver vi inte ens stänga det själva.

Vill veta mer? Skaffa gratis e-bok!

HelloWorld.java (iText 5)

Anta att vi vill skapa ett enkelt Hello World-dokument:

ange bildbeskrivning här

I iText 5 skulle detta göras så här:

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

Källa: utvecklare.itextpdf.com

HelloWorld1.java och HelloWorld2.java (iText 7)

Anta att vi ville skapa ett enkelt Hello World-dokument:

ange bildbeskrivning här

I iText 7 kan vi göra det så här:

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

Eller så kan vi till och med göra det så här:

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

Källa: utvecklare.itextpdf.com och iText 7: Handledning för byggstenar .



Modified text is an extract of the original Stack Overflow Documentation
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow