您好,登錄后才能下訂單哦!
這期內容當中小編將會給大家帶來有關如何在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進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。