Ⅰ java解析pdf文件,求大神提供代碼,請注意是java語言的
給你提供一個參考例子,你可以在這個例子上試試,修改修改。也是解析PDF的。
importjava.io.File;
importjava.io.FileOutputStream;
importjava.io.OutputStreamWriter;
importjava.io.Writer;
importjava.net.MalformedURLException;
importjava.net.URL;
importorg.apache.pdfbox.pdmodel.PDDocument;
importorg.apache.pdfbox.util.PDFTextStripper;
publicclassPdfReader{
publicvoidreadFdf(Stringfile)throwsException{
//是否排序
booleansort=false;
//pdf文件名
StringpdfFile=file;
//輸入文本文件名稱
StringtextFile=null;
//編碼方式
Stringencoding="UTF-8";
//開始提取頁數
intstartPage=1;
//結束提取頁數
intendPage=Integer.MAX_VALUE;
//文件輸入流,生成文本文件
Writeroutput=null;
//內存中存儲的PDFDocument
PDDocumentdocument=null;
try{
try{
//首先當作一個URL來裝載文件,如果得到異常再從本地文件系統//去裝載文件
URLurl=newURL(pdfFile);
//注意參數已不是以前版本中的URL.而是File。
document=PDDocument.load(pdfFile);
//獲取PDF的文件名
StringfileName=url.getFile();
//以原來PDF的名稱來命名新產生的txt文件
if(fileName.length()>4){
FileoutputFile=newFile(fileName.substring(0,fileName
.length()-4)
+".txt");
textFile=outputFile.getName();
}
}catch(MalformedURLExceptione){
//如果作為URL裝載得到異常則從文件系統裝載
//注意參數已不是以前版本中的URL.而是File。
document=PDDocument.load(pdfFile);
if(pdfFile.length()>4){
textFile=pdfFile.substring(0,pdfFile.length()-4)
+".txt";
}
}
//文件輸入流,寫入文件倒textFile
output=newOutputStreamWriter(newFileOutputStream(textFile),
encoding);
//PDFTextStripper來提取文本
PDFTextStripperstripper=null;
stripper=newPDFTextStripper();
//設置是否排序
stripper.setSortByPosition(sort);
//設置起始頁
stripper.setStartPage(startPage);
//設置結束頁
stripper.setEndPage(endPage);
//調用PDFTextStripper的writeText提取並輸出文本
stripper.writeText(document,output);
}finally{
if(output!=null){
//關閉輸出流
output.close();
}
if(document!=null){
//關閉PDFDocument
document.close();
}
}
}
/**
*@paramargs
*/
publicstaticvoidmain(String[]args){
//TODOAuto-generatedmethodstub
PdfReaderpdfReader=newPdfReader();
try{
//取得E盤下的SpringGuide.pdf的內容
pdfReader.readFdf("d:\b.pdf");
}catch(Exceptione){
e.printStackTrace();
}
}
}
Ⅱ 利用java實現doc轉換pdf
在日常工作中,Word憑借其廣泛的應用和強大的功能,成為了不可或缺的文本編輯工具。然而,文件格式在不同軟體或操作系統間的傳輸時,易出現格式不一致的問題,這無疑給用戶帶來了困擾。為了確保文件格式的穩定性,越來越多的人傾向於將Word文檔轉換為PDF格式。
對於單個Word文件轉PDF,操作相對簡單;然而,如果需要處理大量文件,如1000個Word文檔,這個過程可能會變得繁瑣,甚至觸發用戶的挫敗感。此時,通過編程手段自動化轉換就顯得尤為重要。考慮到Apache poi和docx4j組件在文檔處理上的優勢,我決定採用docx4j來實現批量轉換。
首先,我通過Maven下載了docx4j所需的依賴包,然後開始編寫代碼。盡管在轉換過程中遇到一些小錯誤,但PDF文件的生成並未受影響,內容完整。只需添加一個for循環遍歷所有文檔,就能完成轉換。然而,我注意到結果PDF數量少了一個,進一步檢查發現,問題出在其中10個文檔,它們是未加密的DOC格式,docx4j並不支持這類文件。
總結來說,雖然通過docx4j基本實現了批量轉換,但在處理某些特定類型的Word文檔時,遇到了兼容性問題。我正在探索可能的解決方案,或者尋找其他工具來解決這個問題,以確保所有文檔都能順利轉換為PDF。如果你也遇到類似問題,或許可以共享一下你的經驗和解決方法。
Ⅲ Java操作pdf表格數據
用Java簡單的讀取pdf文件中的數據:
第一步:下載PDFBox-0.7.2.jar。提供一個下載地址: http://pdfhome.hope.com.cn/Resource.aspx?CID=63844604-5253-4ae1-b023-258c9e324061&RID=20cd8f94-1cee-40b6-a3df-0ef024f8e0d2解壓後,把lib文件下的PDFBox-0.7.2.jar,PDFBox-0.7.2-log4j.jar放到你classpath路徑下。(我把源碼以及jar包都放到下面的附件里,方面你的使用。)
第二步:寫個簡單的讀取pdf文件的程序。(PdfReader.java)
import java.io.File;
import java.io.FileOutputStream;
import java.io.OutputStreamWriter;
import java.io.Writer;
import java.net.MalformedURLException;
import java.net.URL;
import org.pdfbox.pdmodel.PDDocument;
import org.pdfbox.util.PDFTextStripper;
public class PdfReader {
public void readFdf(String file) throws Exception {
// 是否排序
boolean sort = false;
// pdf文件名
String pdfFile = file;
// 輸入文本文件名稱
String textFile = null;
// 編碼方式
String encoding = "UTF-8";
// 開始提取頁數
int startPage = 1;
// 結束提取頁數
int endPage = Integer.MAX_VALUE;
// 文件輸入流,生成文本文件
Writer output = null;
// 內存中存儲的PDF Document
PDDocument document = null;
try {
try {
// 首先當作一個URL來裝載文件,如果得到異常再從本地文件系統//去裝載文件
URL url = new URL(pdfFile);
//注意參數已不是以前版本中的URL.而是File。
document = PDDocument.load(pdfFile);
// 獲取PDF的文件名
String fileName = url.getFile();
// 以原來PDF的名稱來命名新產生的txt文件
if (fileName.length() > 4) {
File outputFile = new File(fileName.substring(0, fileName
.length() - 4)
+ ".txt");
textFile = outputFile.getName();
}
} catch (MalformedURLException e) {
// 如果作為URL裝載得到異常則從文件系統裝載
//注意參數已不是以前版本中的URL.而是File。
document = PDDocument.load(pdfFile);
if (pdfFile.length() > 4) {
textFile = pdfFile.substring(0, pdfFile.length() - 4)
+ ".txt";
}
}
// 文件輸入流,寫入文件倒textFile
output = new OutputStreamWriter(new FileOutputStream(textFile),
encoding);
// PDFTextStripper來提取文本
PDFTextStripper stripper = null;
stripper = new PDFTextStripper();
// 設置是否排序
stripper.setSortByPosition(sort);
// 設置起始頁
stripper.setStartPage(startPage);
// 設置結束頁
stripper.setEndPage(endPage);
// 調用PDFTextStripper的writeText提取並輸出文本
stripper.writeText(document, output);
} finally {
if (output != null) {
// 關閉輸出流
output.close();
}
if (document != null) {
// 關閉PDF Document
document.close();
}
}
}
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
PdfReader pdfReader = new PdfReader();
try {
// 取得E盤下的SpringGuide.pdf的內容
pdfReader.readFdf("E:\\SpringGuide.pdf");
} catch (Exception e) {
e.printStackTrace();
}
}
}
這樣就簡單的完成了從pdf中讀取數據了。在你的pdf文件所在的目錄下生成一個同名的txt文件。
Ⅳ 《java從入門到精通》(第四版) pdf 誰能給傳一個
Ⅳ 跪求!java編程思想第五版 pdf (高清的 不要掃描版
很多想學JAVA的小夥伴的一個問題就是我該如何入門?是啊,面對這樣的問題我們該如何去做呢,這是擺在很多小夥伴面前的問題。我根據自己多年的編程經驗為大家分享自己的看法。
1.看到過好多個這樣的提問,其實我一般真的不那麼容易分享自己的這點心得的,這是第一次回答這樣的「推薦書籍」方面的問題。
我買編程方面的書籍,有一個非常清晰、堅決的原則——電子工業出版社的!
對於JAVA,建議你看如下的書:
首先,《21天學通JAVA》;
然後,《30天學通JAVA項目案例開發》(這本書的內容都是實例的,非常棒的實例!適合初學者的同時,又有實際應用性!)
以上的書籍,是基於你只想學J2SE的。
我還建議你主要攻J2EE方面的知識(在中國,J2SE要高手才能找到工作,而J2SE,只是菜鳥都很可能找到工作),至於J2EE方面的書籍:
首先,《21天學通JAVAWEB開發》
然後,《30天學通JAVAWEB項目開發》
以上都是本人確切的經驗來的,絕對沒有介紹錯
2.我聯合互聯網上的一群大牛,組建了一個編程的免費學習群,你只需要來我們這個群里聽就行,開頭的的第一部分是:四二六.,位於中間的第二部分是:396,處於最後一部分的是:284。 這里有免費的學習資源,每天直播課程,不需要你付出什麼,只需要有一顆學習的心就可以了。 不是想要學習的就不要加了。
3、動手去寫去練
當然只看是很難學會的。我們需要搭建IDE環境來多練習才能完全掌握這些語法。編程學習沒有捷徑可走,只有入門快慢之分。要學會編程只有coding、coding最後還是coding。
送給那些懦弱的人們
A : 我是護士,我的專業就是護理。我做不了excel、做不了ppt、我學不會ps,好難,我不會寫文章。
我: 我學習那麼好,寫字那麼漂亮,編程也不錯,ps也挺好、我還能打籃球、我會兵乓求、我會羽毛球、我會足球、我會設計、我會英文。(有的都是高二退學之後自己加強學習的,讀書只給了我 算數、識字這些基本的的能力),我特么是神嗎?
A : 人人都跟你一樣?不是誰都能用很短的時間學很多的東西。
我 :我大概是神吧!你能少看一點 《爸爸去哪兒》、《額滴歌神啊》、《奔跑吧兄弟》嗎,今天出了《爸爸去哪》,明天來個《女兒去哪》、《爺爺去哪兒》,你看得完?你能不能看點有用的東西?例如有點啟發、讓人學到東西的影片或者書?
A:委屈的癟癟嘴,那好,我要學習,給我買一本書吧,推薦一下。
我:書到了,學習 吧,一個月後我要看你的成績。我來考考你
A:好難啊,我好睏,我要看一會兒電視.....(然而沒然後了....)
其實,這位A同學,極度的懦弱,並不是她不上進,只是那麼的懦弱,那麼的沉迷於垃圾節目、垃圾書籍,喜歡看不倫不類,不三不四的東西。不明白自己應該要什麼,自己怎麼做才能得到,認為自己的能力那麼的差,做不到
B:大神,我要學node了,推薦一下node的書籍唄
我:恩,入門看一下《node於express開發》吧,然後看看node官網。還有一些博客什麼的。當然了,你完全按照那本書,也能做出一些的東西了。最重要的是,要自己動手,去做東西,然後發現問題,解決問題。提升自己。
B:大神,除了那本書,還有別的書嗎?
我:書很多,但書不在於多,而是,你能否理解了,並且能運用了?你看完了嗎?
B:我感覺很難做,node好難。
我:做做項目,搜搜Google、看看github。
而今,我不知道這位同學水平到底到了什麼水平,我想,應該不會太好,最終原因,我想是因為沒有深入的去折騰,沒有去寫代碼,沒去發現自己的問題
其實,我們的潛力很大,我們能學的更好。我們能掌握的更多,但是許多人都做不到堅持、做不到深入。不肯思考,不肯的動手,是阻礙我們進步的最大原因。
後記:
人,應該要明確自己的目標,擁有理想。
人,重要的不是你站在哪裡,而是你往哪個方向前進。
無論何時,不管你已經得到了多少,擁有了多少。都不是墮落的理由。
對於不肯上進,沒意志力的人來說,等於是,你想死,任何人都救不了你!
感謝自己,感謝自己沒有繼續讀大學。感謝自己在讀書時代已經養成了獨立思考,喜歡折騰的習慣。
Ⅵ 求一本書的pdf電子版,《Java開發入門及項目實戰》,明日科技編著的
請下載附件吧,文件已給你上傳,希望對你的研究有所幫助,文件較大,耐心下載,還望採納答案
java學習路線圖——Java開發入門及項目實戰.pdf 明日科技編著 清華大學出版社 電子版下載
《Java開發入門及項目實戰》清華大學出版社.pdf
說明:本書系統全面地介紹了使用Java語言進行編程的各種技術,從初學者的角度出發,科學合理地設計全書內容,是學習Java編程技術的完美教程。全書共分3篇18章,第1篇為入門篇,主要包括Java語言概述、Eclipse開發工具、Java語言基礎、流程式控制制、數組、面向對象入門、面向對象進階、字元串與包裝類等內容;第2篇為提高篇,主要包括Java集合類框架、常用數學工具類、優雅地錯誤處理、輸入/輸出、枚舉類型與泛型、Swing入門、多線程、網路通信、資料庫操作等內容;第3篇為應用篇,介紹企業人事管理系統項目開發的全過程。
Ⅶ 跪求《Java面向對象程序設計》耿祥義 編(清華大學出版社) 電子書 ,【pdf】,【word】都行
免費下載地址:
http://ishare.iask.sina.com.cn/search.php?key=Java%C3%E6%CF%F2%B6%D4%CF%F3%B3%CC%D0%F2%C9%E8%BC%C6&from=index&format=
Ⅷ java創建pdf文件寫入不進去
通常需要用到用於讀、寫、編輯PDF文件的庫,你可以參考下面採用spire.pdf.jar來創建PDF的步驟及方法:
首先需要引入jar包。具體的引入方法可以自行網路搜索。
創建PdfDocument類的對象,並通過PdfDocument.getPages().add()方法添加頁碼。
定義標題文字。
創建PdfSolidBrush畫刷、PdfTrueTypeFont字體、PdfStringFormat字元串、Rectangle2D等對象,用於指定字元串繪制效果、字體、格式、繪制區域等。
通過PdfPageBase.getCanvas().drawString(body, font2, brush2, rect, format2)方法將內容繪制到PDF頁面。
下面附上詳細的代碼demo示例:
import com.spire.pdf.*;
import com.spire.pdf.graphics.*;
import java.awt.*;
import java.awt.geom.*;
import java.io.*;
public class CreatePdfDocumentInJava {
public static void main(String[] args) throws FileNotFoundException, IOException {
//創建PdfDocument對象
PdfDocument doc = new PdfDocument();
//添加一頁
PdfPageBase page = doc.getPages().add();
//標題文字
String title = "Java基礎語法";
//創建單色畫刷對象
PdfSolidBrush brush1 = new PdfSolidBrush(new PdfRGBColor(Color.BLUE));
PdfSolidBrush brush2 = new PdfSolidBrush(new PdfRGBColor(Color.BLACK));
//創建TrueType字體對象
PdfTrueTypeFont font1 = new PdfTrueTypeFont(new Font("宋體", Font.PLAIN, 14), true);
PdfTrueTypeFont font2 = new PdfTrueTypeFont(new Font("宋體", Font.PLAIN, 10), true);
//創建PdfStringFormat對象
PdfStringFormat format1 = new PdfStringFormat();
format1.setAlignment(PdfTextAlignment.Center);//設置文字居中
//使用drawString方法繪制標題文字
page.getCanvas().drawString(title, font1, brush1, new Point2D.Float((float) page.getActualBounds(true).getWidth() / 2, 0), format1);
//從txt文件讀取內容到字元串
String body = readFileToString("C:\Users\Administrator\Desktop\bodyText.txt");
//創建PdfStringFormat對象
PdfStringFormat format2 = new PdfStringFormat();
format2.setParagraphIndent(20);//設置段首縮進
//創建Rectangle2D對象
Rectangle2D.Float rect = new Rectangle2D.Float(0, 30, (float) page.getActualBounds(true).getWidth(), (float) page.getActualBounds(true).getHeight());
//使用drawString方法在矩形區域繪制主體文字
page.getCanvas().drawString(body, font2, brush2, rect, format2);
//保存到PDF文檔
doc.saveToFile("ouput.pdf");
}
//自定義方法讀取txt文件內容到字元串
private static String readFileToString(String filepath) throws FileNotFoundException, IOException {
StringBuilder sb = new StringBuilder();
String s = "";
BufferedReader br = new BufferedReader(new FileReader(filepath));
while ((s = br.readLine()) != null) {
sb.append(s + "
");
}
br.close();
String str = sb.toString();
return str;
}
}
Ⅸ 求JAVA編程思想第四版文字版的pdf(不要掃描版的)
Java編程思想第四版文字版pdf網路雲鏈接:https://pan..com/s/1jKFxejr0JvQpFcIYaokFcw
Ⅹ 求 java核心技術第八版卷一高清PDF+源碼