这期内容当中小编将会给大家带来有关如何在java中将PDF文件转换为图片,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。
Java的特点有哪些 1.Java语言作为静态面向对象编程语言的代表,实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。 2.Java具有简单性、面向对象、分布式、安全性、平台独立与可移植性、动态性等特点。 3.使用Java可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序等。
1.首先利用maven引入所需jar包
<dependency> <groupId>org.apache.pdfbox</groupId> <artifactId>fontbox</artifactId> <version>2.0.1</version> </dependency> <dependency> <groupId>org.apache.pdfbox</groupId> <artifactId>pdfbox</artifactId> <version>2.0.1</version> </dependency>
2.这是本人自己写的一个工具类,有两个方法,一个是获取PDF总页码,一个是通过传过来的page把对应的pdf转成指定格式的图片,并通过流的方式响应给客户端
public class PDFToImgUtil { private static Logger logger = LoggerFactory.getLogger(PDFToImgUtil.class); /** * 获取PDF总页数 * @throws IOException */ public static int getPDFNum(String fileUrl) throws IOException { PDDocument pdDocument = null; int pages = 0; try { pdDocument = getPDDocument(fileUrl); pages = pdDocument.getNumberOfPages(); } catch (Exception e) { e.printStackTrace(); logger.error(e.getMessage(),e); } finally { if (pdDocument != null) { pdDocument.close(); } } return pages; } /** * PDF转图片 根据页码一页一页转 * @throws IOException * imgType:转换后的图片类型 jpg,png */ public static void PDFToImg(OutputStream sos,String fileUrl,int page,String imgType) throws IOException { PDDocument pdDocument = null; /* dpi越大转换后越清晰,相对转换速度越慢 */ int dpi = 100; try { pdDocument = getPDDocument(fileUrl); PDFRenderer renderer = new PDFRenderer(pdDocument); int pages = pdDocument.getNumberOfPages(); if (page <= pages && page > 0) { BufferedImage image = renderer.renderImageWithDPI(page,dpi); ImageIO.write(image, imgType, sos); } } catch (Exception e) { e.printStackTrace(); logger.error(e.getMessage(),e); } finally { if (pdDocument != null) { pdDocument.close(); } } } private static PDDocument getPDDocument(String fileUrl) throws IOException { File file = new File(fileUrl); FileInputStream inputStream = new FileInputStream(file); return PDDocument.load(inputStream); } }
上述就是小编为大家分享的如何在java中将PDF文件转换为图片了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注亿速云行业资讯频道。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。