2014-10-30 41 views
-2

我試着從PDF文件讀取並在控制檯上顯示它,但它顯示了一些奇怪的字符不知道它是什麼。我需要從PDF文件讀取並在控制檯上顯示它。這裏是我的代碼閱讀PDF並在控制檯上顯示

public class JavaApplication14 { 
    public static void main(String[] args) throws FileNotFoundException, IOException { 
     FileReader fr = new FileReader("F:\\abc.pdf"); 
     char[] temp = new char[10000]; 
     fr.read(temp); 

     System.out.println(temp); 

    } 

} 
+0

程序的輸出應該是什麼? – Jens 2014-10-30 09:14:46

+1

來自文檔:'FileReader是用於讀取字符流'。 PDF文件是二進制文件,所以你不能期望以這種方式讀取它們。 – Eypros 2014-10-30 09:17:24

+0

當你用這種方式打開視頻文件時,你是否期望字幕作爲println()的參數?在PDFBox中選擇 – 2014-10-30 12:18:51

回答

1

您需要使用庫來正確閱讀PDF文檔。 iTextPDFBox是例子。

怪異的輸出是因爲它的內容是二進制的:它也包含字體,圖像,顏色,元數據...

+0

,查找PDFTextStripper。 https://pdfbox.apache.org/cookbook/textextraction.html – 2014-10-30 12:20:18

-1

您需要itextpdf LIB的這個例子。只需下載它並將其放到項目的lib文件夾中即可。

public class GetPDFContent { 

    public static String reader(String filename) throws IOException { 
     PdfReader reader = new PdfReader(filename); 

     pageNum = reader.getNumberOfPages(); 
     for (int i=1; i< pageNum; i++) { 
      String page = PdfTextExtractor.getTextFromPage(reader, i); 
      System.out.println(page); 
     }  
    } 
}