in thumbnails4j-docx/src/main/java/co/elastic/thumbnails4j/docx/DOCXThumbnailer.java [69:92]
public List<BufferedImage> getThumbnails(InputStream input, List<Dimensions> dimensions) throws ThumbnailingException {
List<BufferedImage> results = new ArrayList<>();
try (XWPFDocument docx = new XWPFDocument(input)){
InputStream imageStream = docx.getProperties().getThumbnailImage();
if (imageStream==null) {
byte[] htmlBytes = htmlBytesFromDocx(docx);
for(Dimensions singleDimension: dimensions){
Dimensions expectedDimensions = docxPageDimensions(docx, singleDimension);
BufferedImage image = ThumbnailUtils.scaleHtmlToImage(htmlBytes, expectedDimensions);
results.add(ThumbnailUtils.scaleImage(image, singleDimension));
}
} else {
BufferedImage image = ImageIO.read(imageStream);
for(Dimensions singleDimension: dimensions) {
results.add(ThumbnailUtils.scaleImage(image, singleDimension));
}
}
} catch (IOException e) {
logger.error("Failed to read thumbnails from DOCX", e);
throw new ThumbnailingException(e);
}
return results;
}