0
我已經在stackoverflow上搜索關於此主題的問題。他們真的幫助我,但我再次堅持。解析從網上下載的PDF
我的問題是,我需要編寫一個方法,從像www.example.com/abc.pdf這樣的站點下載PDF,然後我想讀取輸出。我不想保存此文件,只需在系統中讀取即可。我不需要將字節輸出到fileoutputstream。我試圖將字節轉換爲char來獲取字符(它可能是最愚蠢的解決方案)。但我得到未知的字符。任何想法或我是否以錯誤的方式理解它?
下面是代碼及其輸出:
String textlink="http://www.selab.isti.cnr.it/ws-mate/example.pdf";// it comes from main class
public String HtmlTest(String textLink) throws IOException{
StringBuilder sd=new StringBuilder();
URL link=new URL(textLink);
URLConnection urlConn = link.openConnection();
BufferedInputStream in = null;
try
{
in = new BufferedInputStream(urlConn.getInputStream());
byte data[] = new byte[1024];
in.read(data, 0, 1024);
for (int j = 0; j < data.length; j++) {
if(j%100==0){
sd.append((char)data[j]+"\n"); // i used this for making readable text
}
else{
sd.append((char)data[j]);
}
}
}
finally
{
if (in != null)
in.close();
}
return sd.toString();
}
輸出
運行:
%
PDF-1.3
%ᅦ↓マᄁ
7 0 obj
<</Length 8 0 R/Filter /FlateDecode>>
stream
xワᆳY[モᅴᄊ○ᄈ&?BoNf,,q%¢ᄐ4x&゙6ᄅロlᅮ
ラᄐ폐Zeムf→チ
嘗試指定閱讀時使用的編碼。 – Andromeda
我會考慮調查IText:http://itextpdf.com/ 但請注意,他們的許可證是有點限制。 – hooknc
問題是PDF不是純文本文件(.txt):它有一個定義良好且結構相當的格式。你一定需要一個庫來以一種乾淨的方式從PDF中提取文本。 –