pdf 2 pdf images convertion using java file.

 


/*

 * MyPdfProject/

├── src/

│   â””── MyPdfApp.java

├── lib/

│   â”œâ”€â”€ pdfbox-2.0.34.jar

│   â”œâ”€â”€ fontbox-2.0.34.jar

│   â””── commons-logging-1.2.jar

 * 

 * */

 



import org.apache.pdfbox.pdmodel.PDDocument;

import org.apache.pdfbox.pdmodel.PDPage;

import org.apache.pdfbox.pdmodel.PDPageContentStream;

import org.apache.pdfbox.pdmodel.common.PDRectangle;

import org.apache.pdfbox.pdmodel.graphics.image.PDImageXObject;

import org.apache.pdfbox.rendering.PDFRenderer;


import javax.imageio.ImageIO;

import java.awt.image.BufferedImage;

import java.io.File;

import java.io.IOException;


public class PdfToImageToPdf {


    public static void main(String[] args) {

        String inputPdf = "C:\\Deviprasad\\PDP\\ThrithaSiddantamBooks\\telugu\\Pravakthalu-Yevaru.pdf";

        String outputPdf = "C:\\Users\\04758W744\\Downloads\\Images_filename.pdf";

        String imageDir = "C:\\Users\\04758W744\\Downloads\\pdf_images";


        try {

            // Step 1: Convert PDF to Images

            PDDocument document = PDDocument.load(new File(inputPdf));

            PDFRenderer pdfRenderer = new PDFRenderer(document);


            File dir = new File(imageDir);

            if (!dir.exists()) dir.mkdirs();


            int pageCount = document.getNumberOfPages();

            for (int page = 0; page < pageCount; ++page) {

                BufferedImage bim = pdfRenderer.renderImageWithDPI(page, 200);

                File imageFile = new File(imageDir + "/page_" + (page + 1) + ".jpg");

                ImageIO.write(bim, "jpg", imageFile);

            }

            document.close();

            System.out.println("Converted PDF to " + pageCount + " image(s)");


            // Step 2: Convert Images back to PDF

            PDDocument outPdf = new PDDocument();

            for (int i = 1; i <= pageCount; i++) {

                PDPage page = new PDPage(PDRectangle.A4);

                outPdf.addPage(page);


                PDImageXObject pdImage = PDImageXObject.createFromFile(imageDir + "/page_" + i + ".jpg", outPdf);

                PDPageContentStream contents = new PDPageContentStream(outPdf, page);

                contents.drawImage(pdImage, 0, 0, page.getMediaBox().getWidth(), page.getMediaBox().getHeight());

                contents.close();

            }


            outPdf.save(outputPdf);

            outPdf.close();

            System.out.println("Saved new PDF: " + outputPdf);


        } catch (IOException e) {

            e.printStackTrace();

        }

    }

}



Popular posts from this blog

SAP CPI : camle expression in sap cpi , cm, router, filter and groovy script. format

pss book: గురు ప్రార్థనామంజరి . completed 21st july 2024

pss book : శ్రీకృష్ణుడు దేవుడా, భగవంతుడా completed , second review needed. 26th April 2024