使用的是pdfbox-2.0.2.jar

自己写的工具类(纯属记录,无技术含量):

import java.awt.image.BufferedImage;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;

import javax.imageio.ImageIO;

import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.rendering.PDFRenderer;
public class PDFToImgUtil {

 /**
 * 获取PDF总页数
 * @throws IOException 
 */
 public static int getPDFNum(String fileUrl) throws IOException {
 PDDocument pdDocument = null;
 int pages = 0;
 try {
  pdDocument = getPDDocument(fileUrl);
  pages = pdDocument.getNumberOfPages();
 } catch (Exception e) {
  e.printStackTrace();
  StringUtils.println(e.getMessage());
 } finally {
  if (pdDocument != null) {
  pdDocument.close();
  }
 }
 return pages;
 }
 
 //pdf全转图片
 public static void PDFToImg(String url) throws FileNotFoundException, IOException {
	 int pages = getPDFNum(url);
	 for(int i=0;i<pages;i++) {
		 PDFToImgIndex(new FileOutputStream(new File("D:\\pdf\\pdf"+i+".jpg")), url, i, "jpg");
	 }
 }
 
 //pdf只转第一页
 public static String PDFToImgOne(String pdfurl,String imgpath) {
	 String CimgPath=imgpath+System.currentTimeMillis()+".jpg";
	 try {
	 int pages = getPDFNum(pdfurl);
	 if(pages>=1) {
			PDFToImgIndex(new FileOutputStream(new File(CimgPath)), pdfurl, 0, "jpg");
	 }	
	 } catch (FileNotFoundException e) {
			// TODO Auto-generated catch block
		 StringUtils.println("FileNotFoundException=="+e.getMessage());
		} catch (IOException e) {
			// TODO Auto-generated catch block
			StringUtils.println("IOException"+e.getMessage());
		}
	 
	 return CimgPath;
 }
  
  
 /**
 * PDF转图片 根据页码一页一页转 
 * @throws IOException 
 * imgType:转换后的图片类型 jpg,png
 */
 public static void PDFToImgIndex(OutputStream sos,String fileUrl,int pageIndex,String imgType) throws IOException {
 PDDocument pdDocument = null;
 /* dpi越大转换后越清晰,相对转换速度越慢 */
 int dpi = 300;
 try {
  pdDocument = getPDDocument(fileUrl);
  PDFRenderer renderer = new PDFRenderer(pdDocument);
  int pages = pdDocument.getNumberOfPages();
  if (pageIndex <= pages) {
  BufferedImage image = renderer.renderImageWithDPI(pageIndex, dpi);
  ImageIO.write(image, imgType, sos);
  }
 } catch (Exception e) {
  e.printStackTrace();
  StringUtils.println(e.getMessage());
 } finally {
  if (pdDocument != null) {
  pdDocument.close();
  }
 }
  
 }
  
  
 private static PDDocument getPDDocument(String fileUrl) throws IOException {
 File file = new File(fileUrl);
 FileInputStream inputStream = new FileInputStream(file);
   return PDDocument.load(inputStream);
 }

}