- 导入依赖
<dependency>
<groupId>org.apache.pdfboxgroupId>
<artifactId>pdfboxartifactId>
<version>2.0.26version>
dependency>
<dependency>
<groupId>com.lowagiegroupId>
<artifactId>itextartifactId>
<version>4.2.2version>
dependency>
- 代码
public static List<InputStream> pdf2Image(InputStream inputStream) {
List<InputStream> resultList = new ArrayList<>();
String fileName = "E:\\"+DateUtil.today()+ IdUtil.randomUUID() +".pdf";
PDDocument pdDocument = null;
PdfReader reader = null;
try {
FileUtil.writeFromStream(inputStream,new File(fileName),false);
pdDocument = PDDocument.load(new File(fileName));
PDFRenderer renderer = new PDFRenderer(pdDocument);
reader = new PdfReader(fileName);
int pages = reader.getNumberOfPages();
log.info("pdf总共多少页-----" + pages);
for (int i = 0; i < pages; i++) {
BufferedImage image = renderer.renderImageWithDPI(i, 150);
ByteArrayOutputStream bos = new ByteArrayOutputStream();
ImageIO.write(image, "png", bos);
resultList.add(new ByteArrayInputStream(bos.toByteArray()));
IoUtil.close(bos);
}
} catch (IOException e) {
e.printStackTrace();
}finally {
reader.close();
IoUtil.close(pdDocument);
IoUtil.close(inputStream);
FileUtil.del(fileName);
}
return resultList;
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40