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'iTextPdfWriterpour é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 iTextPdfReaderpour 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