JAVA怎么將PDF轉(zhuǎn)為圖片

本篇內(nèi)容主要講解“JAVA怎么將PDF轉(zhuǎn)為圖片”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實(shí)用性強(qiáng)。下面就讓小編來帶大家學(xué)習(xí)“JAVA怎么將PDF轉(zhuǎn)為圖片”吧!

主要從事網(wǎng)頁設(shè)計(jì)、PC網(wǎng)站建設(shè)(電腦版網(wǎng)站建設(shè))、wap網(wǎng)站建設(shè)(手機(jī)版網(wǎng)站建設(shè))、成都響應(yīng)式網(wǎng)站建設(shè)公司、程序開發(fā)、微網(wǎng)站、成都小程序開發(fā)等,憑借多年來在互聯(lián)網(wǎng)的打拼,我們在互聯(lián)網(wǎng)網(wǎng)站建設(shè)行業(yè)積累了豐富的網(wǎng)站設(shè)計(jì)、網(wǎng)站制作、網(wǎng)絡(luò)營銷經(jīng)驗(yàn),集策劃、開發(fā)、設(shè)計(jì)、營銷、管理等多方位專業(yè)化運(yùn)作于一體,具備承接不同規(guī)模與類型的建設(shè)項(xiàng)目的能力。

1.引用:fontbox-2.0.16.jar、pdfbox-app-2.0.16.jar 版本一定要正確,否則代碼會(huì)有問題。

main函數(shù):

package kevin.cn;import java.awt.image.BufferedImage;import java.io.ByteArrayOutputStream;import java.io.File;import java.io.FileOutputStream;import java.io.IOException;import java.util.ArrayList;import java.util.List;import javax.imageio.ImageIO;import org.apache.pdfbox.pdmodel.PDDocument;import org.apache.pdfbox.pdmodel.PDPage;import org.apache.pdfbox.pdmodel.encryption.InvalidPasswordException;import org.apache.pdfbox.rendering.ImageType;import org.apache.pdfbox.rendering.PDFRenderer;import org.apache.pdfbox.tools.PDFBox;import kevin.cn.PdfUtil;@SuppressWarnings("unused")public class Test {  //經(jīng)過測試,dpi為96,100,105,120,150,200中,105顯示效果較為清晰,體積穩(wěn)定,dpi越高圖片體積越大,一般電腦顯示分辨率為96  public static final float DEFAULT_DPI = 105;  //默認(rèn)轉(zhuǎn)換的圖片格式為jpg  public static final String DEFAULT_FORMAT = "jpg";  public static void main(String[] args) throws Exception {    pdfToImage("/media/kevin/FileData/JavaCode/pdfboxTest/企業(yè)信息化建設(shè)論文.pdf","/media/kevin/FileData/JavaCode/pdfboxTest/img/7.jpg",5);  }

實(shí)現(xiàn)函數(shù):

/**   * pdf轉(zhuǎn)圖片   *   * @param pdfPath PDF路徑    * @imgPath img路徑   * @page_end 要轉(zhuǎn)換的頁碼,也可以定義開始頁碼和結(jié)束頁碼,我這里只需要一頁,根據(jù)需求自行添加   */  public static void pdfToImage(String pdfPath, String imgPath,int page_end) {    try {      //圖像合并使用參數(shù)      // 總寬度      int width = 0;      // 保存一張圖片中的RGB數(shù)據(jù)      int[] singleImgRGB;      int shiftHeight = 0;      //保存每張圖片的像素值      BufferedImage imageResult = null;      //利用PdfBox生成圖像      PDDocument pdDocument = PDDocument.load(new File(pdfPath));      PDFRenderer renderer = new PDFRenderer(pdDocument);      //循環(huán)每個(gè)頁碼      for (int i = 0, len = pdDocument.getNumberOfPages(); i < len; i++) {        if (i==page_end) {          BufferedImage image = renderer.renderImageWithDPI(i, DEFAULT_DPI, ImageType.RGB);          int imageHeight = image.getHeight();          int imageWidth = image.getWidth();          //計(jì)算高度和偏移量          //使用第一張圖片寬度;          width = imageWidth;          //保存每頁圖片的像素值          imageResult = new BufferedImage(width, imageHeight, BufferedImage.TYPE_INT_RGB);          //這里有高度,可以將imageHeight*len,我這里值提取一頁所以不需要           singleImgRGB = image.getRGB(0, 0, width, imageHeight, null, 0, width);           // 寫入流中           imageResult.setRGB(0, shiftHeight, width, imageHeight, singleImgRGB, 0, width);        }else if(i>page_end) {          continue;        }      }      pdDocument.close();      // 寫圖片      ImageIO.write(imageResult, DEFAULT_FORMAT, new File(imgPath));    } catch (Exception e) {      e.printStackTrace();    }    //OVER  }

到此,相信大家對“JAVA怎么將PDF轉(zhuǎn)為圖片”有了更深的了解,不妨來實(shí)際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!

當(dāng)前標(biāo)題:JAVA怎么將PDF轉(zhuǎn)為圖片
標(biāo)題網(wǎng)址:http://muchs.cn/article30/pisgso.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制開發(fā)、軟件開發(fā)、網(wǎng)站導(dǎo)航、Google、ChatGPT、用戶體驗(yàn)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

綿陽服務(wù)器托管