Wednesday, July 3, 2024
HomeLanguagesJavaJava Program to Extract a Image From a PDF

Java Program to Extract a Image From a PDF

Program to extract an image from a PDF using Java. The external jar file is required to import in the program. Below is the implementation for the same.

Algorithm:

  • Extracting image using the APACHE PDF Box module.
  • Load the existing PDF document using file io.
  • Creating an object of PDFRenderer class.
  • Rendering an image from the PDF document using the BufferedImage class.
  • Writing the extracted image to the new file.
  • Close the document.

Note: External files are required to download for performing the operation. For more documentation of the module used to refer to this. 

Implementation:

Java




// Extracting  Images  from a PDF using java
import java.io.*;
import java.awt.image.BufferedImage;
import javax.imageio.ImageIO;
import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.rendering.PDFRenderer;
  
class GFG {
    public static void main(String[] args) throws Exception
    {
        // Existing PDF Document
        // to be Loaded using file io
        File newFile
            = new File("C:/Documents/Lazyroar.pdf");
        PDDocument pdfDocument = PDDocument.load(newFile);
  
        // PDFRenderer class to be Instantiated
        // i.e. creating it's object
        PDFRenderer pdfRenderer
            = new PDFRenderer(pdfDocument);
  
        // Rendering an image
        // from the PDF document
        // using BufferedImage class
        BufferedImage img = pdfRenderer.renderImage(0);
        // Writing the extracted
        // image to a new file
        ImageIO.write(
            img, "JPEG",
            new File("C:/Documents/Lazyroar.png"));
        System.out.println(
            "Image has been extracted successfully");
  
        // Closing the PDF document
        pdfDocument.close();
    }
}


PDF before execution:

Existing PDF Document which containing the image which is to be extracted 

Image after extraction:

Extracted Image from the PDF document

Nokonwaba Nkukhwana
Experience as a skilled Java developer and proven expertise in using tools and technical developments to drive improvements throughout a entire software development life cycle. I have extensive industry and full life cycle experience in a java based environment, along with exceptional analytical, design and problem solving capabilities combined with excellent communication skills and ability to work alongside teams to define and refine new functionality. Currently working in springboot projects(microservices). Considering the fact that change is good, I am always keen to new challenges and growth to sharpen my skills.
RELATED ARTICLES

LEAVE A REPLY

Please enter your comment!
Please enter your name here

Most Popular

Recent Comments