itext
Text to PDF: iText 5 versus iText 7
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:
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:
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 .