iText - Lire et écrire des PDF en Java
Cet article traite de la lecture et de l'écriture de PDF à l'aide de la bibliothèqueiText PDF.
pom.xml
com.itextpdf itextpdf 5.5.10
P.S Tested with iTextPdf 5.5.10
1. iText - Ecrire un PDF
Exemple d'iTextPdfWriter
pour écrire du contenu dans un fichier PDF.
PdfWriteExample.java
package com.techfou; import com.itextpdf.text.*; import com.itextpdf.text.pdf.PdfWriter; import java.io.File; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; public class PdfWriteExample { private static final String FILE_NAME = "/tmp/itext.pdf"; public static void main(String[] args) { writeUsingIText(); } private static void writeUsingIText() { Document document = new Document(); try { PdfWriter.getInstance(document, new FileOutputStream(new File(FILE_NAME))); //open document.open(); Paragraph p = new Paragraph(); p.add("This is my paragraph 1"); p.setAlignment(Element.ALIGN_CENTER); document.add(p); Paragraph p2 = new Paragraph(); p2.add("This is my paragraph 2"); //no alignment document.add(p2); Font f = new Font(); f.setStyle(Font.BOLD); f.setSize(8); document.add(new Paragraph("This is my paragraph 3", f)); //close document.close(); System.out.println("Done"); } catch (FileNotFoundException | DocumentException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } }
Sortie, un nouveau fichier PDF est créé -/tmp/itext.pdf
2. iText - Lire le PDF
Exemple de iTextPdfReader
pour lire le fichier PDF ci-dessus.
PdfReadExample.java
package com.techfou; import com.itextpdf.text.pdf.PdfReader; import com.itextpdf.text.pdf.parser.PdfTextExtractor; import java.io.IOException; public class PdfReadExample { private static final String FILE_NAME = "/tmp/itext.pdf"; public static void main(String[] args) { PdfReader reader; try { reader = new PdfReader("f:/itext.pdf"); // pageNumber = 1 String textFromPage = PdfTextExtractor.getTextFromPage(reader, 1); System.out.println(textFromPage); reader.close(); } catch (IOException e) { e.printStackTrace(); } } }
Sortie
This is my paragraph 1 This is my paragraph 2 This is my paragraph 3
3. Talk
Le code ci-dessus utilise 2 classes principales -PdfWriter
etPdfReader
. Comme l'indique le nom, ces classes fournissent la base pour lire et écrire un pdf. L'objetDocument
est essentiellement un fichier Pdf qui est adressé. Paragraph
est un type de contenu qui peut être écrit dans le Pdf. Les autres types de contenu possibles incluentAnchor
,Chapter
,Section
,List
,PdfPTable
etc. Toutes ces classes aident à créer un type spécifique de contenu selon l'exigence du pdf.
iText pdf est la bibliothèque la plus pratique avec sa dernière version prenant en charge HTML vers Pdf, Image vers Pdf ainsi que les codes QR. Le seul inconvénient de la bibliothèque pdf iText est qu'elle est complexe à utiliser. La structure de la classe est difficile à comprendre.
Note
Plus deiText
PDF examples