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:

voer hier de afbeeldingsbeschrijving in

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:

voer hier de afbeeldingsbeschrijving in

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 .



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