import org.icepdf.core.pobjects.Document;
import org.icepdf.core.util.GraphicsRenderingHints;
import org.springframework.mock.web.MockMultipartFile;
import org.springframework.web.multipart.MultipartFile;
(这几个jar包引对)
try {
//获取文件路径,输出流
HttpResponse fileResponse = HttpRequest.get(sampleTableFile.getFilePath()).setFollowRedirects(true).execute(false);
//document 创建对应pdf类型文件,流塞入
Document document = new Document();
document.setInputStream(fileResponse.bodyStream(),""+sampleTableFile.getFilePath()+"");
//缩放比例
float scale = 2.5f;
//旋转角度
float rotation = 0f;
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);
ByteArrayOutputStream out = new ByteArrayOutputStream();
boolean flag = ImageIO.write(image, “png”, out);
byte[] bytes = out.toByteArray();
//已经获取图片了,上传或者下载到相对路径都可以
MultipartFile mockMultipartFile = new MockMultipartFile(i + “.png”, i + “.png”, i + “.png”, bytes);
//上传或者下载
}
document.dispose();
}catch (Exception e){
e.printStackTrace();
}
<groupId>org.icepdf.os</groupId>
<artifactId>icepdf-core</artifactId>
<version>6.1.2</version>
</dependency>
<groupId>org.jodconverter</groupId>
<artifactId>jodconverter-local</artifactId>
<version>4.1.0</version>
</dependency>