Apache PDFBox

Java library and CLI toolset covering PDF creation from scratch (with embedded fonts and images), Unicode text extraction, splitting and merging, form field extraction and filling, PDF/A-1b validation via its Preflight module, rendering pages to PNG/JPEG, printing via the Java printing API, and digital signing. The de facto standard Java PDF library, used as the underlying engine behind numerous other tools in this directory (PDFsam, PDFLayoutTextStripper, PdfBox-Android, and more).

Sample Results

Real output from running this tool against a sample PDF, as part of PDFog's open-source PDF tooling benchmark.

Input: sample-brochure.pdf

Loading PDF…

java -jar bin/pdfbox-app-3.0.4.jar export:text -i "sample-brochure.pdf" -o "sample-brochure--apache-pdfbox-java.txt"

Output: sample-brochure--apache-pdfbox-java.txt

$1,000,000
221 Queen Street, Melbourne VIC 3000
apartment 2 1 1
Prince Cascading
1234-5678
Additional Information
Land Size
House Size
Map Ref.
Energy Rating
Council Rates
Water Rates
1171m2
-
-
-
-
-
WARM BEAUTIFUL APARTMENT
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc turpis ante, fermentum ac
cursus vitae, tempus vel ipsum. Proin justo lorem, mattis sed pharetra ac, vehicula
tincidunt sem. Mauris est leo, scelerisque at gravida vel, interdum quis felis. Nullam
nibh magna, consectetur eu aliquet ac, sollicitudin eget nisl. Praesent nibh tellus,
elementum ut scelerisque a, pretium eget libero. Morbi sodales tincidunt turpis et
sagittis. Aenean sed dictum nisi.
Phasellus quis metus lectus. Donec varius pellentesque purus, et ornare enim
pellentesque sed. Morbi quam augue, pulvinar sit amet mollis in, euismod porta orci.
Quisque rutrum egestas enim ac viverra. Mauris blandit tristique feugiat. Ut molestie
molestie turpis sed elementum. Lorem ipsum dolor sit amet, consectetur adipiscing elit.
Maecenas in nunc odio. Nunc sagittis, mi ut ornare pellentesque, orci augue dapibus
est, vel rutrum elit orci vel augue.

-md: PDFBox's export:text command also supports real Markdown output.

java -jar bin/pdfbox-app-3.0.4.jar export:text -i "sample-brochure.pdf" -o "sample-brochure--apache-pdfbox-java.md" -md

Output: sample-brochure--apache-pdfbox-java.md




$1,000,000
**221 Queen Street, Melbourne VIC 3000
**apartment **2 1 1
**

**Prince Cascading
**

1234\-5678


**Additional Information
**

Land Size


House Size


Map Ref.


Energy Rating


Council Rates


Water Rates


1171m2


\-


\-


\-


\-


\-


**WARM BEAUTIFUL APARTMENT
**

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc turpis ante, fermentum ac
cursus vitae, tempus vel ipsum. Proin justo lorem, mattis sed pharetra ac, vehicula
tincidunt sem. Mauris est leo, scelerisque at gravida vel, interdum quis felis. Nullam
nibh magna, consectetur eu aliquet ac, sollicitudin eget nisl. Praesent nibh tellus,
elementum ut scelerisque a, pretium eget libero. Morbi sodales tincidunt turpis et
sagittis. Aenean sed dictum nisi.


Phasellus quis metus lectus. Donec varius pellentesque purus, et ornare enim
pellentesque sed. Morbi quam augue, pulvinar sit amet mollis in, euismod porta orci.
Quisque rutrum egestas enim ac viverra. Mauris blandit tristique feugiat. Ut molestie
molestie turpis sed elementum. Lorem ipsum dolor sit amet, consectetur adipiscing elit.
Maecenas in nunc odio. Nunc sagittis, mi ut ornare pellentesque, orci augue dapibus
est, vel rutrum elit orci vel augue.