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

Java使用itextpdf實現(xiàn)PDF轉(zhuǎn)文本以及轉(zhuǎn)圖片

 更新時間:2025年01月09日 09:34:39   作者:信計2102羅鎧威  
PDF轉(zhuǎn)文本的插件常用的有pdfbox ,itextpdf 和 spire.pdf,本文主要介紹如何使用itextpdf實現(xiàn)PDF轉(zhuǎn)文本以及轉(zhuǎn)圖片,需要的可以參考一下

前言

PDF轉(zhuǎn)文本的插件常用的有:pdfbox ,itextpdf 和 spire.pdf 這幾個,

itextpdf

導(dǎo)入itextpdf的maven依賴

        <!--2.itexpdf依賴-->
        <dependency>
            <groupId>com.itextpdf</groupId>
            <artifactId>itextpdf</artifactId>
            <version>5.5.13.3</version>
        </dependency>

提取文本代碼

import com.itextpdf.text.pdf.PdfReader;
import com.itextpdf.text.pdf.parser.PdfTextExtractor;
import java.io.*;

public class Main_itextPdf {

    public static void main(String[] args) throws Exception {
        System.out.println("------------------------pdf提取文本開始------------------------------");
            // 2. 加載PDF文件
        File file = new File("C:/Users/Administrator/Desktop/羅鎧威個人簡歷.pdf");
            PdfReader reader = new PdfReader(file.getAbsolutePath());

            // 3. 解析PDF文件,獲取頁面數(shù)據(jù)
            int page = 1; // 獲取第一頁
            String text = PdfTextExtractor.getTextFromPage(reader, page);
            System.out.println(text);
            // 4. 關(guān)閉PdfReader
            reader.close();
        System.out.println("------------------------pdf提取文本結(jié)束------------------------------");
        }
}

pdf轉(zhuǎn)換成圖片代碼

本地圖片地址還是線上PDF的URL地址均支持

import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.rendering.PDFRenderer;

import javax.imageio.ImageIO;
import java.awt.image.BufferedImage;
import java.io.*;
import java.net.URL;
import java.net.URLConnection;
import java.util.Scanner;

public class Main_itextPdf {

    public static void main(String[] args) throws Exception {
        System.out.println("------------------------pdf轉(zhuǎn)圖片開始------------------------------");
//        InputStream inputStream = readPdfFromUrl("http://minio.xxxx/xxxx.pdf");//線上的pdf文件
        InputStream inputStream = new FileInputStream("C:/Users/Administrator/Desktop/羅鎧威個人簡歷.pdf") ;
        byte[] bytes = streamToByte(inputStream);
        InputStream newStream = new ByteArrayInputStream(bytes);
        //將pdf流轉(zhuǎn)換成png圖片流
        InputStream imgStream = pdfToImg(newStream);
        //存儲圖片imgStream到桌面
        ImageIO.write(ImageIO.read(imgStream), "png", new File("C:/Users/Administrator/Desktop/1.png"));
        System.out.println("------------------------pdf轉(zhuǎn)圖片結(jié)束------------------------------");
    }

    //支持線上pdf文件地址url
    public static InputStream readPdfFromUrl(String pdfUrl) throws IOException {
        URL url = new URL(pdfUrl);
        URLConnection connection = url.openConnection();
        BufferedInputStream bufferedInputStream = new BufferedInputStream(connection.getInputStream());
        return bufferedInputStream;
    }

    public static ByteArrayInputStream pdfToImg(InputStream pdfStream) throws Exception {
        // 將 InputStream 轉(zhuǎn)換為 PDDocument
        PDDocument document = PDDocument.load(pdfStream);

        // 創(chuàng)建 PDFRenderer 對象
        PDFRenderer pdfRenderer = new PDFRenderer(document);

        // 選擇第一頁面來生成圖片
        // 可以根據(jù)需要改成遍歷所有頁面并保存
        BufferedImage bufferedImage = pdfRenderer.renderImageWithDPI(0, 300); // 0 表示第一頁,300 DPI 提供高質(zhì)量圖像

        // 將 BufferedImage 轉(zhuǎn)換為 InputStream
        ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
        ImageIO.write(bufferedImage, "PNG", byteArrayOutputStream);
        document.close();
        // 返回一個新的 InputStream
        return new ByteArrayInputStream(byteArrayOutputStream.toByteArray());
    }
    public static byte[] streamToByte(InputStream inputStream) throws Exception {
        ByteArrayOutputStream buffer = new ByteArrayOutputStream();
        int nRead;
        byte[] data = new byte[1024];
        while ((nRead = inputStream.read(data, 0, data.length)) != -1) {
            buffer.write(data, 0, nRead);
        }
        buffer.flush();
        return buffer.toByteArray();
    }

}

到此這篇關(guān)于Java使用itextpdf實現(xiàn)PDF轉(zhuǎn)文本以及轉(zhuǎn)圖片的文章就介紹到這了,更多相關(guān)Java itextpdf PDF轉(zhuǎn)文本和圖片內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Java多線程 生產(chǎn)者消費者模型實例詳解

    Java多線程 生產(chǎn)者消費者模型實例詳解

    這篇文章主要介紹了Java多線程 生產(chǎn)者消費者模型實例詳解,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-09-09
  • Springboot實現(xiàn)ModbusTCP通信的示例詳解

    Springboot實現(xiàn)ModbusTCP通信的示例詳解

    ModbusTCP協(xié)議是Modbus由MODICON公司于1979年開發(fā),是一種工業(yè)現(xiàn)場總線協(xié)議標(biāo)準(zhǔn),本文主要介紹了Springboot實現(xiàn)ModbusTCP通信的相關(guān)知識,需要的可以參考下
    2023-12-12
  • Springboot雙mongodb配置方式

    Springboot雙mongodb配置方式

    這篇文章主要介紹了Springboot雙mongodb配置方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-05-05
  • java 調(diào)用本地揚聲器的步驟

    java 調(diào)用本地揚聲器的步驟

    博主的畢設(shè)系統(tǒng)在做一個餐廳的點餐管理系統(tǒng),在進行移動端頁面開發(fā)的時候突發(fā)奇想做一個呼叫功能,因此就有了這篇文章
    2021-05-05
  • java中對象的序列化與反序列化深入講解

    java中對象的序列化與反序列化深入講解

    這篇文章主要給大家介紹了關(guān)于java中對象的序列化與反序列化的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2018-09-09
  • Spring框架初始化解析

    Spring框架初始化解析

    這篇文章主要介紹了Spring框架初始化解析,具有一定參考價值,需要的朋友可以了解下。
    2017-11-11
  • Java代碼讀取文件緩存問題解決

    Java代碼讀取文件緩存問題解決

    最近遇到了一個Java文件讀取的緩存問題,打遠程斷點出現(xiàn)的也是原來的老代碼參數(shù),本文就介紹一下解決方法,感興趣的可以了解一下
    2021-05-05
  • Springboot?Vue實現(xiàn)單點登陸功能示例詳解

    Springboot?Vue實現(xiàn)單點登陸功能示例詳解

    這篇文章主要為大家介紹了Springboot?Vue實現(xiàn)單點登陸功能示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-01-01
  • 解決spring jpa中update的坑

    解決spring jpa中update的坑

    這篇文章主要介紹了spring jpa中update遇到的坑及解決方法,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-08-08
  • 使用Nexus搭建Maven私服教程的方法步驟

    使用Nexus搭建Maven私服教程的方法步驟

    本文主要介紹了使用Nexus搭建Maven私服教程的方法步驟,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-01-01

最新評論

奎屯市| 建始县| 永春县| 台中县| 湘潭市| 麻栗坡县| 柏乡县| 郎溪县| 安庆市| 额尔古纳市| 崇礼县| 盐城市| 新乐市| 冕宁县| 永春县| 沽源县| 海南省| 光山县| 固镇县| 皋兰县| 东辽县| 赫章县| 武平县| 西吉县| 厦门市| 贡觉县| 汤原县| 紫阳县| 徐州市| 防城港市| 莎车县| 遂溪县| 泗洪县| 宾阳县| 馆陶县| 博白县| 淮安市| 政和县| 莱芜市| 女性| 海阳市|