Sök…


Anmärkningar

Koden för att konvertera en vanlig textfil till ett PDF-dokument är ganska enkel oavsett om du använder iText 5 eller iText 7. I iText 7 har du fördelen att du kan definiera justeringen på dokumentets nivå. I iText 5 måste du ställa in justeringen för varje separat Paragraph .

För att förstå den verkliga skillnaden mellan iText 5 och iText 7 i det här exemplet måste vi ta en titt på den resulterande PDF-filen. I iText 5 slutar vi med 35 sidor med text. I iText 7 har vi samma text fördelad på 38 sidor.

Texten är lättare att läsa när den skapas av iText 7 eftersom olika standardvärden används när du skapar layouten. Du kan få samma resultat från iText 5-koden, men då måste du ändra vissa värden med avseende på avstånd.

I iText 7 valdes standardvärdena baserat på 16 års erfarenhet av iText. På så sätt får du ett bättre resultat med mindre kod.

Vill veta mer?

Läs Arbeta med RootElement som är kapitel 5 i iText 7: Handledning för byggstenar . Skaffa gratis e-bok!

Text2Pdf.java (iText 5)

Anta att vi har följande textfil: jekyll_hyde.txt

Hur konverterar vi den till en PDF som ser ut så här:

ange bildbeskrivning här

När vi använder iText 5 använder vi följande kod:

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

Källa: utvecklare.itextpdf.com

Text2Pdf.java (iText 7)

Anta att du har följande textfil: jekyll_hyde.txt

Hur konverterar vi den till en PDF som ser ut så här:

ange bildbeskrivning här

När vi använder iText 7, behöver vi följande kod:

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

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