本文實例為大家分享了Java使用icepdf將pdf文件按頁轉(zhuǎn)成圖片的具體代碼,供大家參考,具體內(nèi)容如下
Maven icepdf包,這里過濾掉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); }}
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持VeVb武林網(wǎng)。
新聞熱點
疑難解答
圖片精選