springMVC将PDF转换成图片

springMVC将PDF转换成图片

  1. maven代码
       <dependency><groupId>org.apache.pdfbox</groupId><artifactId>pdfbox</artifactId><version>2.0.13</version></dependency>
  1. java代码
@RequestMapping(value = "/file-to-img", method = RequestMethod.GET)
public ResponseEntity<byte[]> fileToImg(String pdfFile) throws IOException {if (StringUtils.isBlank(pdfFile)) {return new ResponseEntity<>(HttpStatus.NOT_FOUND);}try (PDDocument pdDocument = PDDocument.load(new File(pdfFile)) {PDFRenderer pdfRenderer = new PDFRenderer(pdDocument);for (int i = 0; i < pdDocument.getNumberOfPages(); i++) {BufferedImage image = pdfRenderer.renderImageWithDPI(i, 96f);if (image != null) {images.add(image);}}}// 拼接图片int width = 0, height = 0;for (BufferedImage image : images) {width = image.getWidth() > width ? image.getWidth() : width;height += image.getHeight();}BufferedImage pdfImage = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);Graphics2D g2d = pdfImage.createGraphics();height = 0;for (BufferedImage image : images) {g2d.drawImage(image, (width - image.getWidth()) / 2, height, image.getWidth(), image.getHeight(), null);height += image.getHeight();}g2d.dispose();HttpHeaders headers = new HttpHeaders();headers.setContentType(MediaType.IMAGE_JPEG);try (ByteArrayOutputStream os = new ByteArrayOutputStream()) {ImageIO.write(pdfImage, "jpg", os);return new ResponseEntity<>(os.toByteArray(), headers, HttpStatus.OK);}
}


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部