Convert PDF files to images with Apache PDFBox?
Apache PDFBox is open source Java library for working with PDF files. This library allows processing on PDF files in many ways. I am using this for converting PDF files to images. I used its version 2.
Following is code for PDF to image conversion. This code is converting pdf pages to images and save them to another directory.
import java.awt.image.BufferedImage;
import java.io.IOException;
import java.io.File;
import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.rendering.ImageType;
import org.apache.pdfbox.rendering.PDFRenderer;
import org.apache.pdfbox.tools.imageio.ImageIOUtil;
public class PdfToImage {
public static void main(String[] args) throws IOException {
String pdfFilename = "resources/pdfs/file-name.pdf";
String imagesDir = "resources/pdfImg/images/";
PDDocument document = PDDocument.load(new File(pdfFilename));
PDFRenderer pdfRenderer = new PDFRenderer(document);
File destinationFile = new File(imagesDir);
for (int page = 0; page < document.getNumberOfPages(); ++page)
{
BufferedImage bim = pdfRenderer.renderImageWithDPI(page, 300, ImageType.RGB);
ImageIOUtil.writeImage(bim, destinationFile + "-" + (page+1) + ".png", 300);
}
document.close();
}
}
Change pdfFilename and imagesDir variable values as per your requirements.
