PDF转图片可以使用福昕阅读器、迅捷PDF转换器等软件进行转换,但需要Money才能全部转换,这就很伤感情了。其实可以自己使用Java写转换程序,但需要用到第三方的架包。这里推荐使用
IcePDF
。
环境准备:
-
IcePDF相关架包:
下载地址:https://pan.baidu.com/s/1jWqE04NYvypwAgirW_k0QQ 提取码: 2jax -
新建Java工程,并导入icePDF架包
转换代码:
import java.awt.image.BufferedImage;
import java.awt.image.RenderedImage;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;
import org.icepdf.core.pobjects.Document;
import org.icepdf.core.util.GraphicsRenderingHints;
public class Test {
public static void main(String[] args) {
String name = "doc02567420190416143529";
String filePath = "D:/" + name + ".pdf";
Document document = new Document();
document.setFile(filePath);
float scale = 2.5f;// 缩放比例
float rotation = 0f;// 旋转角度
System.out.println("正在转换...");
File dirFile = new File("D:/" + name);
if (!dirFile.exists()) {
dirFile.mkdir();
} else {
System.out.println("目录己存在");
return;
}
for (int i = 0; i < document.getNumberOfPages(); i++) {
BufferedImage image = (BufferedImage) document.getPageImage(i,
GraphicsRenderingHints.SCREEN,
org.icepdf.core.pobjects.Page.BOUNDARY_CROPBOX, rotation,
scale);
RenderedImage rendImage = image;
try {
File file = new File("D:/" + name + "/" + name + "_" + (i + 1)
+ ".png");
ImageIO.write(rendImage, "png", file);
} catch (IOException e) {
e.printStackTrace();
}
image.flush();
}
document.dispose();
System.out.println("finish");
}
}