Link

Convert PDF to PNG

JPedal provides several methods to allow the conversion of a PDF file or directory of PDF files into PNG. Java examples use the ConvertPagesToImages and PngEncoderOptions classes.

Convert PDF to PNG from Command Line or another language

java -jar jpedal.jar --convert "inputFileOrDir" "outputDir" png

Convert PDF to PNG in Java with convenience static method

ConvertPagesToImages.writeAllPagesAsImagesToDir("inputFileOrDir", "outputDir" , "png", 1.33f);

Convert PDF to PNG in Java with control over the image output

ConvertPagesToImages convert = new ConvertPagesToImages("/path/to/file.pdf");
try {
    if (convert.openPDFFile()) {
        for(int page = 1; page <= convert.getPageCount(); page++) {
            final BufferedImage bi = convert.getPageAsImage(page);
            final File out = new File("/path/to/output/" + page + ".png");
            // Setters to control output (example with compression)
            final PngEncoderOptions options = new PngEncoderOptions();
            options.setCompressionFormat(PngCompressionFormat.NONE);
            JDeli.write(bi, options, out);
        }
    }
} catch (PdfException | IOException e) {
    e.printStackTrace();
} catch (Exception e) {
    e.printStackTrace();
}

convert.closePDFfile();

Convert PDF to PNG in Java with control over the page range of the output

ConvertPagesToImages convert = new ConvertPagesToImages("/path/to/file.pdf");
// setPageRange gives you the ability to chose the pages you'd like using '-' or ':' for range 
// and ',' to move to the next range or you can simply put null for all the pages
convert.setPageRange(new PageRanges("1-5,8:10,15")); 
// Above will give us pages 1 to 5(inclusive),8 to 10(inclusive) and 15
try {
    if (convert.openPDFFile()) {
        convert.getPageRange().forEachRemaining(page -> {
            try {
                final BufferedImage bi = convert.getPageAsImage(page);
                final File out = new File("/path/to/output/" + page + ".png");
                JDeli.write(bi, options, out);  
            } catch (Exception e) {
                e.printStackTrace();
            }
       });  
    }
} catch (PdfException e) {
    e.printStackTrace();
}                  

convert.closePDFfile();

Convert PDF to PNG thumbnails in Java with control over output image dimensions

ConvertPagesToImages.
writeAllPagesAsImagesToDir("inputFileOrDir", "outputDir" , "png", new int[]{width,height});

or

ConvertPagesToImages convert = new ConvertPagesToImages("/path/to/file.pdf");
//fit with aspect ratio preserved (width will be 300 or height will be 400)
convert.setFitToSize(new int[]{300,400}); 
try {
    if (convert.openPDFFile()) {
        for (int page = 1; page <= convert.getPageCount(); page++) {
            final BufferedImage bi = convert.getPageAsImage(page);
            final File out = new File("/path/to/output/" + page + ".png");
            JDeli.write(bi, OutputFormat.PNG, out);           
        }
    }
} catch (PdfException | IOException e) {
    e.printStackTrace();
} catch (Exception e) {
    e.printStackTrace();
}

convert.closePDFfile();

Convert PDF to PNG thumbnails in Java with control over scaling

ConvertPagesToImages convert = new ConvertPagesToImages("/path/to/file.pdf");
convert.setPageScaling(1.33f); //which gives same size as Acrobat at 100%
try {
    if (convert.openPDFFile()) {
        for (int page = 1; page <= convert.getPageCount(); page++) {
            final BufferedImage bi = convert.getPageAsImage(page);
            final File out = new File("/path/to/output/" + page + ".png");
            JDeli.write(bi, OutputFormat.PNG, out);           
        }
    }
} catch (PdfException | IOException e) {
    e.printStackTrace();
}  catch (Exception e) {
    e.printStackTrace();
}

convert.closePDFfile();

Convert PDF to PNG in Java with a password-protected PDF file

ConvertPagesToImages convert = new ConvertPagesToImages("/path/file.pdf");
convert.setPassword("password"); 
try {
    if (convert.openPDFFile()) {
        for (int page = 1; page <= convert.getPageCount(); page++) {
            final BufferedImage bi = convert.getPageAsImage(page);
            final File out = new File("/path/to/output/" + page + ".png");
            JDeli.write(bi, OutputFormat.PNG, out); 
        }
    }
} catch (PdfException | IOException e) { 
    e.printStackTrace(); 
}  catch (Exception e) {
    e.printStackTrace();
}

convert.closePDFfile();

If you are looking for upscaling or more complex control over the PDF to PNG conversion, ConvertPagesToHiResImages class has lots of additional options