学习内容:
base64pdf格式转图片
学习产出:
/**
*filePath 文件路径
*base64Img base64字符串
*/
public void image(String filePath,String base64Img){
File file = new File(filePath);
if(!file.exists()){
file.mkdirs();
}
BASE64Decoder base64Decoder = new BASE64Decoder();
byte[] data = base64Decoder.decodeBuffer(base64);
//文件开头对照 /9j(JPG) iVB(PNG) Qk0(BMP) SUk(TIFF) JVB(PDF) UEs(OFD)
if(base64Img.startsWith("/9j") || base64Img.startsWith("iVB")){
FileCopyUtils.copy(data, file);
}else if(base64Img.startsWith("JVB")){
PDDocument load = PDDocument.load(new ByteArrayInputStream(data));
PDFRenderer pdfRenderer = new PDFRenderer(load);
int numberOfPages = load.getNumberOfPages();
for(int i =0; i < numberOfPages; i ++){
BufferedImage image = pdfRenderer.renderImageWithDPI(i, 144);
ImageIO.write(image, "png", file);
}
}
}