zoukankan      html  css  js  c++  java
  • 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 }
  • 相关阅读:
    ajax请求先发后至问题处理
    Jquery 使用val时触发change事件
    let与var的几个主要区别
    正则表达式s字符匹配
    Ext.DateField设置Format无法提交数据
    swift基本示例
    div 中文会换行 英文不换行
    js 动画提示数据有变化
    为什么要写博客
    突然发现一个开源项目TXQR和我之前申请的一个专利挺像的
  • 原文地址:https://www.cnblogs.com/mengyao/p/4932769.html
Copyright © 2011-2022 走看看