Java/Spring/SpringBoot利用itextpdf将JPG/PNG/TIF等输出为PDF(解决TIF多页合并问题)

您所在的位置:网站首页 tif多页图片 Java/Spring/SpringBoot利用itextpdf将JPG/PNG/TIF等输出为PDF(解决TIF多页合并问题)

Java/Spring/SpringBoot利用itextpdf将JPG/PNG/TIF等输出为PDF(解决TIF多页合并问题)

2024-07-11 00:12| 来源: 网络整理| 查看: 265

需求是浏览器里直接将服务器上的图片文件(JPG,PNG,TIF)输出PDF, TIF还可能是多页的,这里需要把TIF合并,项目是用的Spring/SpringBoot

首先引入itextpdf依赖,编辑pom.xml

com.itextpdf itextpdf 5.5.13.2

配置Controller,输出的格式是PDF,这样浏览器能认出是PDF文档

@Controller @RequestMapping("/api") public class ApiController { @RequestMapping(value = "/drawings_{no}.pdf", method = RequestMethod.GET) public String drawings(@PathVariable("no") String no, HttpServletRequest request, HttpServletResponse response) { try { //processDrawings就是处理输出PDF的,我们在下一个方法介绍 byte[] contents = processDrawings(no); String filename = "drawings_" + no + ".pdf"; response.setContentType("application/pdf"); //比较关键的是Content-Disposition是inline而不是attachment,这样提示浏览器来显示文档而不是下载 response.setHeader("Content-Disposition", "inline; fileName=" + filename); response.setContentLength(contents.length); response.getOutputStream().write(contents); response.getOutputStream().flush(); } catch (Exception e) { //request.setAttribute("message", "无法输出图号为: " + no + " 的图纸" + (e.getMessage() == null ? "" : ("" + e.getMessage()))); //return "forward:/message"; throw new HttpClientErrorException(HttpStatus.NOT_FOUND); } return null; } }

itextpdf处理图像文件输出为PDF的方法 详见我的博客 https://blog.terrynow.com/2021/01/20/spring-springboot-output-pdf-from-jpg-png-tif-images/

更多开发和运维过程中遇到的坑已经解决问题的方案、干货分享请访问 https://blog.terrynow.com/



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3