Java實(shí)現(xiàn)將PDF轉(zhuǎn)為圖片格式的方法詳解
PDF文件和圖片文件,這是兩種完全不一樣的格式,可是有的時(shí)候這兩種格式卻是有相互轉(zhuǎn)換的需要,大家在工作中遇到PDF文件轉(zhuǎn)圖片文件的問題時(shí)是怎么解決的呢?你們使用的方法簡單方便嗎?如果很麻煩的話,不妨來了解一下這篇文章分享的方法哦。本文將介紹如何通過Java應(yīng)用程序快速高效地將PDF轉(zhuǎn)為圖片格式。一起來看看吧!
- 將整個(gè) PDF 文檔轉(zhuǎn)換為多個(gè)圖片
- 將指定 PDF 頁面轉(zhuǎn)換為圖片
代碼編譯環(huán)境
IntelliJ IDEA 2019(jdk 1.8.0)
PDF Jar包:Free Spire.PDF for Java 5.1.0
1.引入jar包
導(dǎo)入方法1:
手動(dòng)引入。將Free Spire.PDF for Java下載到本地,解壓,找到lib文件夾下的Spire.PDF.jar文件。在IDEA中打開如下界面,將本地路徑中的jar文件引入Java程序:
導(dǎo)入方法2:如果您想通過 Maven安裝,則可以在 pom.xml 文件中添加以下代碼導(dǎo)入 JAR 文件。
<repositories> <repository> <id>com.e-iceblue</id> <url>https://repo.e-iceblue.cn/repository/maven-public/</url> </repository> </repositories> <dependencies> <dependency> <groupId>e-iceblue</groupId> <artifactId>spire.pdf.free</artifactId> <version>5.1.0</version> </dependency> </dependencies>
將整個(gè) PDF 文檔轉(zhuǎn)換為多個(gè)圖片
僅需三步即可將整個(gè) PDF 文檔轉(zhuǎn)換為多個(gè)圖片,詳細(xì)步驟如下:
- 創(chuàng)建 PdfDocument 類的對象,并通過 PdfDocument.loadFromFile(String filename) 方法加載 PDF 文檔。
- 循環(huán)遍歷 PDF 每一頁,并通過 PdfDocument.saveAsImage(int pageIndex, PdfImageType type, int dpiX, int dpiY) 方法將 PDF 頁面保存為圖片格式。
- 指定圖片格式為 .png 格式。
完整代碼
import com.spire.pdf.*; import com.spire.pdf.graphics.PdfImageType; import javax.imageio.ImageIO; import java.awt.image.BufferedImage; import java.io.File; import java.io.IOException; public class PDFtoImage { public static void main(String[] args)throws IOException { //實(shí)例化PdfDocument類的對象 PdfDocument pdf = new PdfDocument(); //加載PDF文檔 pdf.loadFromFile("都江堰.pdf"); //遍歷PDF每一頁,保存為圖片 for (int i = 0; i < pdf.getPages().getCount(); i++) { //將頁面保存為圖片,并設(shè)置DPI分辨率 BufferedImage image = pdf.saveAsImage(i, PdfImageType.Bitmap,500,500); //將圖片保存為png格式 File file = new File( String.format(("ToImage-img-%d.png"), i)); ImageIO.write(image, "PNG", file); } pdf.close(); } }
效果圖
將指定 PDF 頁面轉(zhuǎn)換為圖片
以下是實(shí)現(xiàn)格式轉(zhuǎn)換的主要步驟:
- 創(chuàng)建 PdfDocument 類的實(shí)例。
- 通過 PdfDocument.loadFromFile(String filename) 方法加載 PDF 文檔。
- 調(diào)用 PdfDocument.saveAsImage(int pageIndex, PdfImageType type, int dpiX, int dpiY) 方法將 PDF 指定頁面保存為圖片。
- 設(shè)置圖片格式為 .png 格式。
完整代碼
import com.spire.pdf.*; import com.spire.pdf.graphics.PdfImageType; import javax.imageio.ImageIO; import java.awt.image.BufferedImage; import java.io.File; import java.io.IOException; public class PDFtoImage { public static void main(String[] args) throws IOException { //創(chuàng)建PdfDocument類的實(shí)例 PdfDocument pdf = new PdfDocument(); //加載PDF文檔 pdf.loadFromFile("都江堰.pdf"); //將PDF第1頁保存為圖片,并設(shè)置圖片DPI分辨率 BufferedImage image= pdf.saveAsImage(0, PdfImageType.Bitmap,500,500); //保存為png格式 ImageIO.write(image, "PNG", new File("ToPNG.png")); } }
效果圖
到此這篇關(guān)于Java實(shí)現(xiàn)將PDF轉(zhuǎn)為圖片格式的方法詳解的文章就介紹到這了,更多相關(guān)Java PDF轉(zhuǎn)圖片內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- java實(shí)現(xiàn)PDF轉(zhuǎn)圖片的方法
- java實(shí)現(xiàn)在pdf模板的指定位置插入圖片
- java中pdf轉(zhuǎn)圖片的實(shí)現(xiàn)方法
- Java 讀取PDF中的文本和圖片的方法
- Java實(shí)現(xiàn)圖片轉(zhuǎn)換PDF文件的示例代碼
- Java將圖片組合成PDF文件的方法
- Java實(shí)現(xiàn)PDF轉(zhuǎn)圖片的三種方法
- JAVA基于PDF box將PDF轉(zhuǎn)為圖片的實(shí)現(xiàn)方法
- Java使用icepdf將pdf文件按頁轉(zhuǎn)成圖片
- Java神操作:圖片快速轉(zhuǎn)換PDF秘籍
相關(guān)文章
Java實(shí)現(xiàn)XML文件學(xué)生通訊錄
這篇文章主要為大家詳細(xì)介紹了Java實(shí)現(xiàn)XML文件學(xué)生通訊錄,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-02-02一文搞懂Java常見的三種代理模式(靜態(tài)代理、動(dòng)態(tài)代理和cglib代理)
Java中常見的三種代理模式是靜態(tài)代理模式、動(dòng)態(tài)代理模式和CGLIB代理模式,本文就來給大家詳細(xì)的講解一下這三種代理模式,感興趣的小伙伴跟著小編一起來看看吧2023-08-08java 中 阻塞隊(duì)列BlockingQueue詳解及實(shí)例
這篇文章主要介紹了java 中 阻塞隊(duì)列BlockingQueue詳解及實(shí)例的相關(guān)資料,需要的朋友可以參考下2017-03-03Java參數(shù)傳遞實(shí)現(xiàn)代碼及過程圖解
這篇文章主要介紹了Java參數(shù)傳遞實(shí)現(xiàn)代碼及過程圖解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-11-11Java創(chuàng)建型設(shè)計(jì)模式之建造者模式詳解
建造者模式是Java中一種創(chuàng)建型設(shè)計(jì)模式,它的主要目的是將一個(gè)復(fù)雜對象的構(gòu)建過程分解為多個(gè)簡單對象的構(gòu)建過程,本文將詳細(xì)介紹Java中的建造者模式,包括它的定義、結(jié)構(gòu)、實(shí)現(xiàn)方法以及應(yīng)用場景等方面,希望對大家有所幫助2023-05-05java結(jié)合WebSphere MQ實(shí)現(xiàn)接收隊(duì)列文件功能
WebSphereMQ,也稱MQSeries,以一致的、可靠的和易于管理的方式來連接應(yīng)用程序,并為跨部門、企業(yè)范圍的集成提供了可靠的基礎(chǔ)。通過為重要的消息和事務(wù)提供可靠的、一次且僅一次的傳遞,MQ可以處理復(fù)雜的通信協(xié)議,并動(dòng)態(tài)地將消息傳遞工作負(fù)載分配給可用的資源。2015-10-10IntelliJ IDEA中查看當(dāng)前類的所有繼承關(guān)系圖
今天小編就為大家分享一篇關(guān)于IntelliJ IDEA中查看當(dāng)前類的所有繼承關(guān)系圖,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧2018-10-10