itext
Tekst naar PDF: iText 5 versus iText 7
Zoeken…
Opmerkingen
De code om een gewoon tekstbestand naar een PDF-document te converteren is vrij eenvoudig, of u iText 5 of iText 7 gebruikt. In iText 7 heeft u het voordeel dat u de uitlijning op het niveau van het document kunt definiëren. In iText 5 moet u de uitlijning instellen voor elk afzonderlijk Paragraph
object.
Om het echte verschil tussen iText 5 en iText 7 in dit paar voorbeelden te begrijpen, moeten we de resulterende PDF bekijken. In iText 5 hebben we 35 pagina's tekst. In iText 7 hebben we dezelfde tekst verdeeld over 38 pagina's.
De tekst is gemakkelijker te lezen wanneer gemaakt door iText 7 omdat verschillende standaardwaarden worden gebruikt bij het maken van de lay-out. Je zou hetzelfde resultaat kunnen krijgen van de iText 5-code, maar dan moet je enkele waarden wijzigen met betrekking tot de afstand.
In iText 7 werden de standaardwaarden gekozen op basis van 16 jaar ervaring met iText. Op deze manier krijgt u een beter resultaat met minder code.
Wil meer weten?
Lees Werken met het RootElement dat hoofdstuk 5 is in de iText 7: Bouwstenen tutorial. Ontvang het gratis ebook!
Text2Pdf.java (iText 5)
Stel dat we het volgende tekstbestand hebben: jekyll_hyde.txt
Hoe converteren we het naar een PDF die er als volgt uitziet:
Bij het gebruik van iText 5 zouden we de volgende code gebruiken:
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();
}
Bron: developers.itextpdf.com
Text2Pdf.java (iText 7)
Stel dat u het volgende tekstbestand hebt: jekyll_hyde.txt
Hoe converteren we het naar een PDF die er als volgt uitziet:
Bij gebruik van iText 7 hebben we de volgende code nodig:
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();
}
Bron: developers.itextpdf.com en de tutorial iText 7: Building Blocks .