Suche…


Bemerkungen

Der Code zum Konvertieren einer Nur-Text-Datei in ein PDF-Dokument ist ziemlich einfach, unabhängig davon, ob Sie iText 5 oder iText 7 verwenden. In iText 7 haben Sie den Vorteil, dass Sie die Ausrichtung auf Dokumentebene definieren können. In iText 5 müssen Sie die Ausrichtung für jedes separate Paragraph Objekt festlegen.

Um den wahren Unterschied zwischen iText 5 und iText 7 in diesem Beispielpaar zu verstehen, müssen wir uns die resultierende PDF-Datei ansehen. In iText 5 erhalten wir 35 Textseiten. In iText 7 haben wir den gleichen Text auf 38 Seiten verteilt.

Der Text ist leichter lesbar, wenn er von iText 7 erstellt wird, da beim Erstellen des Layouts unterschiedliche Standardwerte verwendet werden. Sie könnten dasselbe Ergebnis mit iText 5-Code erhalten, aber dann müssten Sie einige Werte in Bezug auf den Abstand ändern.

In iText 7 wurden die Standardwerte basierend auf 16 Jahren Erfahrung mit iText ausgewählt. Auf diese Weise erhalten Sie mit weniger Code ein besseres Ergebnis.

Möchten Sie mehr wissen?

Lesen Sie den Abschnitt Arbeiten mit dem RootElement (Kapitel 5) im Tutorial zu iText 7: Building Blocks . Holen Sie sich das kostenlose E-Book!

Text2Pdf.java (iText 5)

Angenommen, wir haben die folgende Textdatei: jekyll_hyde.txt

Wie konvertieren wir es in ein PDF, das so aussieht:

Geben Sie hier die Bildbeschreibung ein

Bei der Verwendung von iText 5 würden wir den folgenden Code verwenden:

public void createPdf(String dest)
throws DocumentException, IOException {
    Document document = new Document();
    PdfWriter.getInstance(document, new FileOutputStream(dest));
    document.open();
    BufferedReader br = new BufferedReader(new FileReader(TEXT));
    String line;
    Paragraph p;
    Font normal = new Font(FontFamily.TIMES_ROMAN, 12);
    Font bold = new Font(FontFamily.TIMES_ROMAN, 12, Font.BOLD);
    boolean title = true;
    while ((line = br.readLine()) != null) {
        p = new Paragraph(line, title ? bold : normal);
        p.setAlignment(Element.ALIGN_JUSTIFIED);
        title = line.isEmpty();
        document.add(p);
    }
    document.close();
}

Quelle: developer.itextpdf.com

Text2Pdf.java (iText 7)

Angenommen, Sie haben die folgende Textdatei: jekyll_hyde.txt

Wie konvertieren wir es in ein PDF, das so aussieht:

Geben Sie hier die Bildbeschreibung ein

Wenn Sie iText 7 verwenden, benötigen wir den folgenden Code:

public void createPdf(String dest) throws IOException {
    PdfDocument pdf = new PdfDocument(new PdfWriter(dest));
    Document document = new Document(pdf)
        .setTextAlignment(TextAlignment.JUSTIFIED);
    BufferedReader br = new BufferedReader(new FileReader(TEXT));
    String line;
    PdfFont normal = PdfFontFactory.createFont(FontConstants.TIMES_ROMAN);
    PdfFont bold = PdfFontFactory.createFont(FontConstants.TIMES_BOLD);
    boolean title = true;
    while ((line = br.readLine()) != null) {
        document.add(new Paragraph(line).setFont(title ? bold : normal));
        title = line.isEmpty();
    }
    document.close();
}

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