PDF files are not directly supported by Java. This tutorial shows you how to extract clipped images from a PDF file in 5 simple steps using the JPedal PDF library.
Why use a third-party library to handle PDF files?
PDF files are a very complex binary/text hybrid data structure. The image data, color information, clipping and scaling details are all stored separately in a compressed format and need to be extracted and combined together.
A third-party library handles all the for you automatically. In this example, we will use our JPedal PDF library. This provides an easy to use Java PDF APi so you can work with PDF files easily in Java.
How to Extract clipped images from PDF files with JPedal?
- Add JPedal to your class or module path. (download the trial jar).
- Create a File handle, InputStream, or URL pointing to the PDF file
ExtractClippedImages extract = new ExtractClippedImages(path);
- Include a password if file password protected
extract.setPassword("password");
- Open the PDF file
if (extract.openPDFFile()) {
- Iterate over the images on each page
int pageCount = extract.getPageCount(); for (int page = 1; page <= pageCount; page++) { int imagesOnPageCount = extract.getImageCount(page); for (int image = 0; image < imagesOnPageCount; image++) { BufferedImage img = extract.getClippedImage(page, image, true); } } }
- Close the PDF file
extract.closePDFfile();
Extract clipped images from a PDF file with JPedal
If you are looking to use JPedal to extract clipped images from PDF files, we recommend you start with these tutorials:-
- How to extract images programmatically in Java
- How to extract clipped images programmatically in Java
The JPedal PDF library allows you to
Display PDF files in Java Apps |
View PDF files in Java |
Convert PDF Files to image |