itext
Texte en PDF: iText 5 contre iText 7
Recherche…
Remarques
Le code pour convertir un fichier texte brut en un document PDF est assez simple, que vous utilisiez iText 5 ou iText 7. Dans iText 7, vous avez l’avantage de pouvoir définir l’alignement au niveau du document. Dans iText 5, vous devez définir l'alignement pour chaque objet Paragraph
distinct.
Pour comprendre la différence réelle entre iText 5 et iText 7 dans cette paire d’exemples, nous devons examiner le PDF résultant. Dans iText 5, nous nous retrouvons avec 35 pages de texte. Dans iText 7, nous avons le même texte distribué sur 38 pages.
Le texte est plus facile à lire lorsqu'il est créé par iText 7 car différents paramètres par défaut sont utilisés lors de la création de la mise en page. Vous pourriez obtenir le même résultat avec le code iText 5, mais vous devrez alors modifier certaines valeurs en fonction de l'espacement.
Dans iText 7, les valeurs par défaut ont été choisies en fonction de 16 années d'expérience avec iText. De cette façon, vous obtenez un meilleur résultat avec moins de code.
Veulent en savoir plus?
Lisez Travailler avec le RootElement qui est le chapitre 5 du tutoriel iText 7: Building Blocks . Obtenez l'ebook gratuit!
Text2Pdf.java (iText 5)
Supposons que nous ayons le fichier texte suivant: jekyll_hyde.txt
Comment pouvons-nous le convertir en PDF qui ressemble à ceci:
En utilisant iText 5, nous utiliserions le code suivant:
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();
}
Source: developers.itextpdf.com
Text2Pdf.java (iText 7)
Supposons que vous ayez le fichier texte suivant: jekyll_hyde.txt
Comment pouvons-nous le convertir en PDF qui ressemble à ceci:
En utilisant iText 7, nous aurions besoin du code suivant:
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();
}
Source: developers.itextpdf.com et le tutoriel iText 7: Building Blocks .