最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java使用icepdf將pdf文件按頁轉(zhuǎn)成圖片

 更新時間:2018年12月19日 14:20:07   作者:天外游心  
這篇文章主要為大家詳細(xì)介紹了Java使用icepdf將pdf文件按頁轉(zhuǎn)成圖片,具有一定的參考價值,感興趣的小伙伴們可以參考一下

本文實例為大家分享了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í)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • java多線程復(fù)制文件的實例代碼

    java多線程復(fù)制文件的實例代碼

    java多線程復(fù)制文件的實例代碼,需要的朋友可以參考一下
    2013-03-03
  • Java中集合關(guān)系圖及常見操作詳解

    Java中集合關(guān)系圖及常見操作詳解

    這篇文章主要為大家詳細(xì)介紹了Java中集合關(guān)系圖及常見操作,解析Java中的集合類型的繼承關(guān)系圖,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-11-11
  • springboot創(chuàng)建攔截器過程圖解

    springboot創(chuàng)建攔截器過程圖解

    這篇文章主要介紹了springboot創(chuàng)建攔截器過程圖解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-12-12
  • Java中將一個列表拆分為多個較小列表的三種不同方法

    Java中將一個列表拆分為多個較小列表的三種不同方法

    有時候我們需要將大集合按指定的數(shù)量分割成若干個小集合,這篇文章主要給大家介紹了關(guān)于Java中將一個列表拆分為多個較小列表的三種不同方法,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-09-09
  • Mybatis批量插入更新xml方式和注解方式的方法實例

    Mybatis批量插入更新xml方式和注解方式的方法實例

    這篇文章主要給大家介紹了關(guān)于Mybatis批量插入更新xml方式和注解方式的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用Mybatis具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-12-12
  • Java堆&優(yōu)先級隊列示例講解(上)

    Java堆&優(yōu)先級隊列示例講解(上)

    這篇文章主要通過示例詳細(xì)為大家介紹Java中的堆以及優(yōu)先級隊列,文中的示例代碼講解詳細(xì),對我們了解java有一定幫助,需要的可以參考一下
    2022-03-03
  • Java數(shù)據(jù)結(jié)構(gòu)之紅黑樹的實現(xiàn)方法和原理詳解

    Java數(shù)據(jù)結(jié)構(gòu)之紅黑樹的實現(xiàn)方法和原理詳解

    這篇文章主要介紹了Java數(shù)據(jù)結(jié)構(gòu)之紅黑樹的實現(xiàn)方法和原理,紅黑樹是一種特殊的二叉查找樹,每個結(jié)點都要儲存位表示結(jié)點的顏色,或紅或黑,本文將通過示例為大家詳細(xì)講講紅黑樹的原理及實現(xiàn),感興趣的朋友可以了解一下
    2024-02-02
  • Java基礎(chǔ)第三篇 構(gòu)造器與方法重載

    Java基礎(chǔ)第三篇 構(gòu)造器與方法重載

    顯式初始化要求我們在寫程序時就確定初始值,這有時很不方便。我們可以使用構(gòu)造器(constructor)來初始化對象。構(gòu)造器可以初始化數(shù)據(jù)成員,還可以規(guī)定特定的操作。這些操作會在創(chuàng)建對象時自動執(zhí)行。下面文字將對該內(nèi)容做詳細(xì)介紹,需要的小伙伴請參考
    2021-09-09
  • JVM的類加載過程詳細(xì)說明

    JVM的類加載過程詳細(xì)說明

    近來讀了《深入理解JVM虛擬機》的部分內(nèi)容,對JVM也慢慢有個整體的認(rèn)識,今天就來分享一下我對JVM類加載過程的學(xué)習(xí)和理解,需要的朋友可以參考下
    2021-06-06
  • Java調(diào)用linux shell腳本的方法

    Java調(diào)用linux shell腳本的方法

    這篇文章主要介紹了Java調(diào)用linux shell腳本的方法,需要的朋友可以參考下
    2015-02-02

最新評論

固阳县| 漳州市| 陵川县| 昔阳县| 昂仁县| 徐州市| 繁昌县| 桂东县| 门源| 新竹县| 汶川县| 西青区| 祁东县| 黑水县| 阳原县| 奉新县| 富民县| 新平| 乐东| 司法| 杨浦区| 南城县| 临海市| 琼结县| 禄丰县| 乐山市| 弥勒县| 田东县| 安义县| 巴林右旗| 海伦市| 博乐市| 盈江县| 栖霞市| 新密市| 徐汇区| 西吉县| 海阳市| 佛坪县| 大洼县| 太谷县|