日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

编写java实用工具-针对未压缩的pdf转word,(java实现),压缩过的pdf勿进

發布時間:2024/4/18 编程问答 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 编写java实用工具-针对未压缩的pdf转word,(java实现),压缩过的pdf勿进 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

壓縮過的pdf勿進!
壓縮過的pdf勿進!
壓縮過的pdf勿進!
重要的事情說三遍。

主要是提供兩種解決辦法

第一種:轉成同級目錄word
第二種:直接console打印

java的好處之一就是取之不盡的第三方包
這個先介紹pdf轉word的方法:
利用的依賴包:
pdfbox.jar

<dependency><groupId>org.apache.pdfbox</groupId><artifactId>pdfbox</artifactId><version>2.0.16</version> </dependency>

利用的類主要是:
org.apache.pdfbox.pdmodel.PDDocument
org.apache.pdfbox.text.PDFTextStripper

方法1:
核心代碼是PDF類

package com.j;import org.apache.pdfbox.pdmodel.PDDocument; import org.apache.pdfbox.text.PDFTextStripper;import java.io.*;/*** @author joker* @version 1.0* @description pdf轉word* @date 2020-03-01 -- 12:01*/ class Th implements Runnable {public boolean flag = true;public void run() {System.out.println("轉換中");while (true) {if (!flag) {System.out.println();System.out.println("轉換word成功!");return;}System.out.print(".#");try {Thread.sleep(500);} catch (InterruptedException e) {e.printStackTrace();}}} }public class PDF {public static void main(String[] args) {try {Th th = new Th();new Thread(th).start();String pdfFile = "D:\\360安全瀏覽器下載\\多媒體教材.pdf";PDDocument doc = PDDocument.load(new File(pdfFile));int pagenumber = doc.getNumberOfPages();pagenumber=10;pdfFile = pdfFile.substring(0, pdfFile.lastIndexOf("."));String fileName = pdfFile + ".doc";File file = new File(fileName);if (!file.exists()) {file.createNewFile();}FileOutputStream fos = new FileOutputStream(fileName);Writer writer = new OutputStreamWriter(fos);PDFTextStripper stripper = new PDFTextStripper();stripper.setSortByPosition(true);// 排序stripper.setStartPage(5);// 設置轉換的開始頁stripper.setEndPage(pagenumber);// 設置轉換的結束頁stripper.writeText(doc, writer);//寫到wordwriter.close();doc.close();th.flag=false;} catch (IOException e) {e.printStackTrace();}}}

方法2:

package com.j;import org.apache.pdfbox.pdmodel.PDDocument; import org.apache.pdfbox.pdmodel.encryption.InvalidPasswordException; import org.apache.pdfbox.text.PDFTextStripper; import org.apache.pdfbox.text.PDFTextStripperByArea;import java.io.File; import java.io.IOException; import java.util.Scanner;public class ReadPDF {public static void main(String[] args) throws InvalidPasswordException {//本地測試入口System.out.println(PDFtoStringArr("D:\\本學期課程\\操作系統\\sx\\1.pdf"));}public static String PDFtoStringArr(String file) {try {PDDocument document = PDDocument.load(new File(file));document.getClass();if (!document.isEncrypted()) {PDFTextStripperByArea stripper = new PDFTextStripperByArea();stripper.setSortByPosition(true);PDFTextStripper tStripper = new PDFTextStripper();String pdfFileInText = tStripper.getText(document);System.out.println(pdfFileInText);String[] lines = pdfFileInText.split("\\r?\\n"); //去換行和回車符//循環打印String數組for (String line : lines) {System.out.println(line);}}} catch (IOException e) {e.printStackTrace();}return null;}}

利用java,豐富自己的解決方法!

總結

以上是生活随笔為你收集整理的编写java实用工具-针对未压缩的pdf转word,(java实现),压缩过的pdf勿进的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。