最近有将office文件转化为pdf,并切割图片的需求,可以通过office—>PDF—>图片的方式来获得,这里记录下PDF转图片的方法。
linux PDF转图片
通过ImageMagick包可以实现PDF转图片
# yum install ImageMagick
安装好后通过命令:
# convert pdf_name.pdf image_name.jpg //可指定路径
然后就会生成 image_name-0.jpg,image_name-1.jpg等等图片,数目由PDF页数决定
由于只需要转化第一页,可以通过下面的命令来指定页码:
# convert pdf_name.pdf[0] image_name.jpg
可能需要指定生成图片的像素,质量等参数,可以通过以下命令:
# convert -resize 1800x -density 150 -quality 100 pdf_name.pdf image_name.jpg
-resize 1800x 指定生成的像素大小,越大生成的图片越大,转化的时间越久
-density 150 参数指定密度,具体含义再查
-quality 100 指定生成图片的质量
windows PDF转图片
1、下载pdfbox的架包,并导入项目,这里用到2个,如下:
2、附上代码例子:
File file = new File(“c:\test.pdf”);
try {
PDDocument doc = PDDocument.load(file);
PDFRenderer renderer = new PDFRenderer(doc);
int pageCount = doc.getNumberOfPages();
for(int i=0;i<pageCount;i++){
BufferedImage image = renderer.renderImageWithDPI(i, 296);
//BufferedImage image = renderer.renderImage(i, 2.5f);
ImageIO.write(image, “PNG”, new File(“C:\pdfbox_image.png”));
}
} catch (IOException e) {
e.printStackTrace();
}
例子中rederImageWithDPI的第二个参数为dpi分辨率单位,可根据需求调节大小,代码第八行提供了架包里另一种转图片的方法,第二个参数为缩放比。