iText - PDF in Java lesen und schreiben
In diesem Artikel wird das Lesen und Schreiben von PDF-Dateien mit der Bibliothek voniText PDFbeschrieben.
pom.xml
com.itextpdf itextpdf 5.5.10
P.S Tested with iTextPdf 5.5.10
1. iText - PDF schreiben
Das Beispiel von iTextPdfWriter
zum Schreiben von Inhalten in eine PDF-Datei.
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(); } } }
Ausgabe wird eine neue PDF-Datei erstellt -/tmp/itext.pdf
2. iText - PDF lesen
Das Beispiel von iTextPdfReader
zum Lesen der obigen PDF-Datei.
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(); } } }
Ausgabe
This is my paragraph 1 This is my paragraph 2 This is my paragraph 3
3. Talk
Der obige Code verwendet zwei Hauptklassen -PdfWriter
undPdfReader
. Wie der Name schon sagt, bilden diese Klassen die Grundlage für das Lesen und Schreiben eines PDFs. Das Objekt vonDocument
ist im Grunde eine PDF-Datei, die adressiert wird. Paragraph
ist ein Inhaltstyp, der in das PDF geschrieben werden kann. Andere mögliche Inhaltstypen umfassenAnchor
,Chapter
,Section
,List
,PdfPTable
usw. Alle diese Klassen helfen dabei, einen bestimmten Inhaltstyp gemäß den Anforderungen im PDF zu erstellen.
iText pdf ist die bequemste Bibliothek mit der neuesten Version, die HTML zu Pdf, Bild zu Pdf sowie QR-Codes unterstützt. Der einzige Nachteil der iText-PDF-Bibliothek besteht darin, dass die Arbeit damit komplex ist. Die Klassenstruktur ist schwer zu verstehen.
Note
MehriText
PDF examples