Java使用icepdf將pdf文件按頁(yè)轉(zhuǎn)成圖片
本文實(shí)例為大家分享了Java使用icepdf將pdf文件按頁(yè)轉(zhuǎn)成圖片的具體代碼,供大家參考,具體內(nèi)容如下
Maven icepdf包,這里過(guò)濾掉jai-core
<dependency> <groupId>org.icepdf.os</groupId> <artifactId>icepdf-core</artifactId> <version>6.1.2</version> <exclusions> <exclusion> <groupId>javax.media</groupId> <artifactId>jai-core</artifactId> </exclusion> </exclusions> </dependency>
代碼如下
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.text.DecimalFormat;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import javax.imageio.IIOImage;
import javax.imageio.ImageIO;
import javax.imageio.ImageWriter;
import javax.imageio.stream.ImageOutputStream;
import org.apache.commons.logging.LogFactory;
import org.icepdf.core.exceptions.PDFException;
import org.icepdf.core.exceptions.PDFSecurityException;
import org.icepdf.core.pobjects.Document;
import org.icepdf.core.pobjects.Page;
import org.icepdf.core.util.GraphicsRenderingHints;
public class test20160929 {
public static final String FILETYPE_JPG = "jpg";
/**
*
* 將指定的pdf文件轉(zhuǎn)換為指定路徑的圖片
*
* @param filepath 原文件路徑,例如d:/test/test.pdf
*
* @param imagepath 圖片生成路徑,例如 d:/test/
*
* @param zoom 縮略圖顯示倍數(shù),1表示不縮放,0.3則縮小到30%
*
*/
public static void tranfer(String filepath, String imagepath, float zoom) throws PDFException, PDFSecurityException, IOException {
Document document = null;
float rotation = 0f;
document = new Document();
document.setFile(filepath);
int maxPages = document.getPageTree().getNumberOfPages();
for (int i = 0; i < maxPages; i++) {
BufferedImage img = (BufferedImage) document.getPageImage(i, GraphicsRenderingHints.SCREEN, Page.BOUNDARY_CROPBOX, rotation, zoom);
Iterator iter = ImageIO.getImageWritersBySuffix(FILETYPE_JPG);
ImageWriter writer = (ImageWriter) iter.next();
File outFile = new File(imagepath + new File(filepath).getName() + "_" + new DecimalFormat("000").format(i) + "." + FILETYPE_JPG);
FileOutputStream out = new FileOutputStream(outFile);
ImageOutputStream outImage = ImageIO.createImageOutputStream(out);
writer.setOutput(outImage);
writer.write(new IIOImage(img, null, null));
}
System.out.println("轉(zhuǎn)換完成");
}
public static void main(String[] args) throws PDFException, PDFSecurityException, IOException {
tranfer("d:/test/test.pdf", "d:/test/", 1);
}
}
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- 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實(shí)現(xiàn)將PDF轉(zhuǎn)為圖片格式的方法詳解
- Java將圖片組合成PDF文件的方法
- Java實(shí)現(xiàn)PDF轉(zhuǎn)圖片的三種方法
- JAVA基于PDF box將PDF轉(zhuǎn)為圖片的實(shí)現(xiàn)方法
- Java神操作:圖片快速轉(zhuǎn)換PDF秘籍
相關(guān)文章
springboot創(chuàng)建攔截器過(guò)程圖解
這篇文章主要介紹了springboot創(chuàng)建攔截器過(guò)程圖解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-12-12
Java中將一個(gè)列表拆分為多個(gè)較小列表的三種不同方法
有時(shí)候我們需要將大集合按指定的數(shù)量分割成若干個(gè)小集合,這篇文章主要給大家介紹了關(guān)于Java中將一個(gè)列表拆分為多個(gè)較小列表的三種不同方法,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-09-09
Mybatis批量插入更新xml方式和注解方式的方法實(shí)例
這篇文章主要給大家介紹了關(guān)于Mybatis批量插入更新xml方式和注解方式的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用Mybatis具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-12-12
Java堆&優(yōu)先級(jí)隊(duì)列示例講解(上)
這篇文章主要通過(guò)示例詳細(xì)為大家介紹Java中的堆以及優(yōu)先級(jí)隊(duì)列,文中的示例代碼講解詳細(xì),對(duì)我們了解java有一定幫助,需要的可以參考一下2022-03-03
Java數(shù)據(jù)結(jié)構(gòu)之紅黑樹(shù)的實(shí)現(xiàn)方法和原理詳解
這篇文章主要介紹了Java數(shù)據(jù)結(jié)構(gòu)之紅黑樹(shù)的實(shí)現(xiàn)方法和原理,紅黑樹(shù)是一種特殊的二叉查找樹(shù),每個(gè)結(jié)點(diǎn)都要儲(chǔ)存位表示結(jié)點(diǎn)的顏色,或紅或黑,本文將通過(guò)示例為大家詳細(xì)講講紅黑樹(shù)的原理及實(shí)現(xiàn),感興趣的朋友可以了解一下2024-02-02
JVM的類(lèi)加載過(guò)程詳細(xì)說(shuō)明
近來(lái)讀了《深入理解JVM虛擬機(jī)》的部分內(nèi)容,對(duì)JVM也慢慢有個(gè)整體的認(rèn)識(shí),今天就來(lái)分享一下我對(duì)JVM類(lèi)加載過(guò)程的學(xué)習(xí)和理解,需要的朋友可以參考下2021-06-06

