Advertisement
giordanocardillo

PDFBox PDF to JPG

Aug 24th, 2017
108
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.73 KB | None | 0 0
  1. import org.apache.commons.io.FileUtils;
  2. import org.apache.pdfbox.pdmodel.PDDocument;
  3. import org.apache.pdfbox.rendering.ImageType;
  4. import org.apache.pdfbox.rendering.PDFRenderer;
  5. import org.apache.pdfbox.tools.imageio.ImageIOUtil;
  6.  
  7. import javax.swing.*;
  8. import javax.swing.filechooser.FileFilter;
  9. import java.awt.image.BufferedImage;
  10. import java.io.File;
  11. import java.io.IOException;
  12.  
  13. public class Main {
  14.     public static void main(String[] args) throws IOException {
  15.         String scanPath = System.getProperty("user.home") + File.separatorChar + "Desktop" + File.separatorChar + "scan";
  16.         File jpgDirectory = new File(scanPath + File.separatorChar + "jpg");
  17.         File scanDirectory = new File(scanPath);
  18.  
  19.         if (!scanDirectory.exists()) {
  20.             scanDirectory.mkdir();
  21.         }
  22.  
  23.         if (!jpgDirectory.exists()) {
  24.             jpgDirectory.mkdir();
  25.         } else {
  26.             FileUtils.cleanDirectory(jpgDirectory);
  27.         }
  28.  
  29.         final JFileChooser fc = new JFileChooser();
  30.  
  31.         fc.setMultiSelectionEnabled(false);
  32.  
  33.         fc.setFileFilter(new FileFilter() {
  34.             @Override
  35.             public boolean accept(File f) {
  36.                 return f.getName().endsWith(".pdf");
  37.             }
  38.  
  39.             @Override
  40.             public String getDescription() {
  41.                 return "PDF files (*.PDF)";
  42.             }
  43.         });
  44.  
  45.         fc.showOpenDialog(null);
  46.  
  47.         File pdf = fc.getSelectedFile();
  48.  
  49.         if (pdf == null) {
  50.             return;
  51.         }
  52.  
  53.         PDDocument document = PDDocument.load(pdf);
  54.         PDFRenderer pdfRenderer = new PDFRenderer(document);
  55.         for (int page = 0; page < document.getNumberOfPages(); ++page) {
  56.             BufferedImage bim = pdfRenderer.renderImageWithDPI(page, 200, ImageType.RGB);
  57.  
  58.             ImageIOUtil.writeImage(bim, jpgDirectory.getPath() + File.separatorChar + "prova." + String.format("%04d", page + 1) + ".jpg", 200);
  59.         }
  60.  
  61.         document.close();
  62.        
  63.     }
  64. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement