2014-10-30 73 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); 
     }  
    } 
}