Apache-Tika解析PDF文档

通常在使用爬虫时,爬取到网上的文章都是各式各样的格式处理起来比较麻烦,这里我们使用Apache-Tika来处理PDF格式的文章,如下:

 1 package com.mengyao.tika.app;
 2 
 3 import java.io.File;
 4 import java.io.FileInputStream;
 5 
 6 import org.apache.tika.metadata.Metadata;
 7 import org.apache.tika.parser.ParseContext;
 8 import org.apache.tika.parser.pdf.PDFParser;
 9 import org.apache.tika.sax.BodyContentHandler;
10 
11 public class PDFApp {
12 
13     public static void main(String[] args) throws Exception {
14         //Tika默认是10*1024*1024,这里防止文件过大导致Tika报错
15         BodyContentHandler handler = new BodyContentHandler(100*1024*1024);
16         
17         Metadata metadata = new Metadata();
18         FileInputStream inputstream = new FileInputStream(new File("D:/Nutch入门教程.pdf"));
19         ParseContext pcontext = new ParseContext();
20 
21         // 解析PDF文档时应由超类AbstractParser的派生类PDFParser实现
22         PDFParser pdfparser = new PDFParser();
23         pdfparser.parse(inputstream, handler, metadata, pcontext);
24 
25         // 获取PDF文档的内容
26         System.out.println("PDF文档内容:" + handler.toString());
27 
28         // 获取PDF文档的元数据
29         System.out.println("PDF文档元数据:");
30         String[] metadataNames = metadata.names();
31 
32         for (String name : metadataNames) {
33             System.out.println(name + " : " + metadata.get(name));
34         }
35 
36     }
37 
38 }