亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > Java > 正文

java實現pdf按頁轉換為圖片

2024-07-14 08:43:16
字體:
來源:轉載
供稿:網友

本文實例為大家分享了java實現pdf按頁轉換為圖片的具體代碼,供大家參考,具體內容如下

本程序是利用jacob.jar包實現的,關于jacob.jar的配置見我上一篇文章,程序中可配置參數選擇圖片清晰圖。

package core.util; import java.awt.Image;import java.awt.Rectangle;import java.awt.image.BufferedImage;import java.io.File;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;import java.io.RandomAccessFile;import java.lang.reflect.Method;import java.nio.MappedByteBuffer;import java.nio.channels.FileChannel;import java.security.AccessController;import java.security.PrivilegedAction; import com.sun.image.codec.jpeg.JPEGCodec;import com.sun.image.codec.jpeg.JPEGEncodeParam;import com.sun.image.codec.jpeg.JPEGImageEncoder;import com.sun.pdfview.PDFFile;import com.sun.pdfview.PDFPage; public class PDFchangToImage { public static int changePdfToImg(String instructiopath,String picturepath) { int countpage =0; try { //instructiopath ="D:/instructio/2015-05-16/Android 4編程入門經典.pdf" //picturepath = "D:/instructio/picture/2015-05-16/";  File file = new File(instructiopath); RandomAccessFile raf = new RandomAccessFile(file, "r"); FileChannel channel = raf.getChannel(); MappedByteBuffer buf = channel.map(FileChannel.MapMode.READ_ONLY,  0, channel.size()); PDFFile pdffile = new PDFFile(buf); //創建圖片文件夾 File dirfile = new File(picturepath);  if(!dirfile.exists()){  dirfile.mkdirs(); } //獲得圖片頁數 countpage = pdffile.getNumPages(); for (int i = 1; i <= pdffile.getNumPages(); i++) { PDFPage page = pdffile.getPage(i); Rectangle rect = new Rectangle(0, 0, ((int) page.getBBox()  .getWidth()), ((int) page.getBBox().getHeight())); int n = 2; /** 圖片清晰度(n>0且n<7)【pdf放大參數】 */ Image img = page.getImage(rect.width * n, rect.height * n,  rect, /** 放大pdf到n倍,創建圖片。 */  null, /** null for the ImageObserver */  true, /** fill background with white */  true /** block until drawing is done */ ); BufferedImage tag = new BufferedImage(rect.width * n,  rect.height * n, BufferedImage.TYPE_INT_RGB); tag.getGraphics().drawImage(img, 0, 0, rect.width * n,  rect.height * n, null); /**  * File imgfile = new File("D://work//mybook//FilesNew//img//" +  * i + ".jpg"); if(imgfile.exists()){  * if(imgfile.createNewFile()) { System.out.println("創建圖片:"+  * "D://work//mybook//FilesNew//img//" + i + ".jpg"); } else {  * System.out.println("創建圖片失??!"); } }  */ FileOutputStream out = new FileOutputStream(picturepath+"/" + i  + ".png"); /** 輸出到文件流 */ JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(out); JPEGEncodeParam param2 = encoder.getDefaultJPEGEncodeParam(tag); param2.setQuality(1f, true); /** 1f~0.01f是提高生成的圖片質量 */ encoder.setJPEGEncodeParam(param2); encoder.encode(tag); /** JPEG編碼 */ out.close(); } channel.close(); raf.close(); unmap(buf); /** 如果要在轉圖片之后刪除pdf,就必須要這個關閉流和清空緩沖的方法 */ } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } return countpage;  }  @SuppressWarnings("unchecked") public static void unmap(final Object buffer) { AccessController.doPrivileged(new PrivilegedAction() { public Object run() { try {  Method getCleanerMethod = buffer.getClass().getMethod(  "cleaner", new Class[0]);  getCleanerMethod.setAccessible(true);  sun.misc.Cleaner cleaner = (sun.misc.Cleaner) getCleanerMethod  .invoke(buffer, new Object[0]);  cleaner.clean(); } catch (Exception e) {  e.printStackTrace(); } return null; } }); }}

如果需要將word轉pdf,也可參考我上一篇文章。


注:相關教程知識閱讀請移步到JAVA教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美激情中文网| 国产精品自拍偷拍| 日韩美女免费观看| 精品欧美aⅴ在线网站| 欧美成人精品一区| 日本韩国欧美精品大片卡二| 欧美精品免费播放| 日韩中文字幕国产精品| 久久成人这里只有精品| 在线视频欧美日韩| 久久成人精品一区二区三区| 91探花福利精品国产自产在线| 久久久综合免费视频| 欧美成人午夜剧场免费观看| 欧美在线精品免播放器视频| 亚洲淫片在线视频| 成人国产精品一区| 欧美在线xxx| 国产精品爽黄69| 亚洲一区二区三区成人在线视频精品| 欧洲成人午夜免费大片| 久久久国产一区二区| 国产一区私人高清影院| 亚洲国产欧美久久| 91精品啪在线观看麻豆免费| 久久久久久久久爱| 亚洲成人久久久久| 热99精品只有里视频精品| 欧美在线视频免费观看| 色综久久综合桃花网| 欧美一区三区三区高中清蜜桃| 欧美在线www| 久久久久久久久爱| 在线日韩欧美视频| 亚洲一区美女视频在线观看免费| 亚洲一区二区三区sesese| 亚洲成人国产精品| 国产精品极品在线| 一区二区日韩精品| 国产91网红主播在线观看| 精品国产91久久久久久| 日本一区二区三区四区视频| 欧美激情一区二区三区成人| 亚洲视频777| 不卡av电影在线观看| 精品国产91久久久久久老师| 亚洲色在线视频| 黑人与娇小精品av专区| 国产女同一区二区| 日av在线播放中文不卡| 欧美高清视频在线播放| 77777少妇光屁股久久一区| 久久99精品久久久久久琪琪| 成人国产精品色哟哟| 亚洲香蕉伊综合在人在线视看| 欧美另类高清videos| 久久这里有精品视频| 欧美做爰性生交视频| 色久欧美在线视频观看| 精品一区二区三区四区| 欧美乱妇高清无乱码| 色无极影院亚洲| 国产精品一二三视频| 青青草成人在线| 69久久夜色精品国产69乱青草| 欧美精品videossex性护士| 2019中文字幕在线观看| 伊人久久久久久久久久久| 亚洲肉体裸体xxxx137| 国产精品久久久久久久久久久久久| 亚洲自拍中文字幕| 久久国产精品网站| 日韩精品极品视频| 欧美日韩性视频在线| 国产精品美女999| 亚洲精品美女在线| 青青草精品毛片| 国产精品久久9| 国产精品精品视频| 亚洲国产欧美一区| 国产精品私拍pans大尺度在线| 欧美福利视频在线| 久久网福利资源网站| 国产精品网站视频| 69视频在线免费观看| 国产精品高精视频免费| 欧美日韩美女视频| 日韩在线精品一区| 国产精品电影久久久久电影网| 日韩av电影在线播放| 亚洲成年人影院在线| 国产不卡av在线免费观看| 欧美综合国产精品久久丁香| 日本免费在线精品| 国产精品免费久久久久影院| 精品国产精品三级精品av网址| 欧美大片在线看免费观看| 色综合影院在线| 亚洲天堂色网站| 91成人在线视频| 欧美成人免费一级人片100| 欧美专区福利在线| 国产精品99免视看9| 亚洲欧美日韩在线一区| 色偷偷88888欧美精品久久久| 久久亚洲综合国产精品99麻豆精品福利| 26uuu亚洲国产精品| 91精品国产综合久久男男| 欧美国产日韩视频| 久久九九热免费视频| 一本色道久久88综合亚洲精品ⅰ| 亚洲bt欧美bt日本bt| 亚洲成av人乱码色午夜| 日韩精品视频在线观看网址| 国产精品白丝av嫩草影院| 亚洲女人被黑人巨大进入al| 国产狼人综合免费视频| 日韩在线观看你懂的| 欧美第一黄网免费网站| 欧美精品久久久久a| 4388成人网| 国产精品视频999| 国产精品高清免费在线观看| 亚洲美腿欧美激情另类| 国产精品h在线观看| 国产亚洲欧美一区| 国产精品成人一区| 国产精品网址在线| 欧美亚洲激情在线| 久久精品视频导航| 欧美激情亚洲综合一区| 久久久国产一区二区三区| 欧美成人免费一级人片100| 少妇精69xxtheporn| 国产91精品在线播放| 日韩美女在线观看| 欧美激情xxxx| 国产在线观看一区二区三区| 国产一区二区三区网站| 久久久精品一区二区三区| 欧美亚洲国产日韩2020| 97久久精品人搡人人玩| 色偷偷av亚洲男人的天堂| 久久欧美在线电影| 九九热99久久久国产盗摄| 最近日韩中文字幕中文| 91精品视频免费观看| 亚洲欧美国产精品专区久久| 国产精品96久久久久久又黄又硬| 欧美理论电影在线播放| 成人有码视频在线播放| 影音先锋欧美在线资源| 亚洲精品国产综合区久久久久久久| 欧美另类暴力丝袜| 日韩av在线直播| 欧美视频在线看| 久久久人成影片一区二区三区观看| 欧美视频中文字幕在线| 九九热这里只有在线精品视| 久久久久一本一区二区青青蜜月| 97色在线观看免费视频| 精品国产乱码久久久久久虫虫漫画| 国产精品激情av电影在线观看| 亚洲一区二区三区在线免费观看|