【问题标题】:How to Skip Headers and Footers Extraction using Apache Tika如何使用 Apache Tika 跳过页眉和页脚提取
【发布时间】:2019-07-05 03:57:54
【问题描述】:

如何使用 apache tika 提取 (pdf,docx,doc,odt) 等不带页眉和页脚的文档。

【问题讨论】:

标签: apache-tika


【解决方案1】:

我用所有文件格式测试了这段代码,有些解析得很好(pdf 和 html),但不适用于 doc、docx、xlsx、xls 格式

import org.apache.tika.exception.TikaException;
import org.apache.tika.io.TikaInputStream;
import org.apache.tika.parser.AutoDetectParser;
import org.apache.tika.parser.html.BoilerpipeContentHandler;
import org.apache.tika.sax.BodyContentHandler;
import org.xml.sax.ContentHandler;
import org.xml.sax.SAXException;
import org.apache.tika.metadata.Metadata;
import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.net.URL;   

public class NewtikaXpath {
    public static void main(String args[]) throws IOException, SAXException, TikaException {
        AutoDetectParser parser = new AutoDetectParser();
        ContentHandler textHandler = new BodyContentHandler();
        Metadata xmetadata = new Metadata();
        try  (InputStream stream = TikaInputStream.get(new URL("your favourite url"))){
            parser.parse(stream, new BoilerpipeContentHandler(textHandler), xmetadata);
            System.out.println("text:\n" + textHandler.toString());
        }
    }

}

【讨论】:

  • 感谢您的帮助。此代码适用于 html 文件。我需要 doc、docx、odt 和 pdf @Lakshman
【解决方案2】:

您可以按程序进行。以下是所有 tika 支持的文档的工作方式,包括 docx、pptx、odt pdf

   ParseContext parseContext = new ParseContext();
AutoDetectParser parser = new AutoDetectParser();
ContentHandler contentHandler = new BodyContentHandler();
inputStream = new BufferedInputStream(new FileInputStream(inputFileName));
Metadata metadata = new Metadata();

OfficeParserConfig officeParserConfig = new OfficeParserConfig();
officeParserConfig.setIncludeHeadersAndFooters(false);
parseContext.set(OfficeParserConfig.class, officeParserConfig);

parser.parse(inputStream, contentHandler, metadata, parseContext);
System.out.println(contentHandler.toString());

【讨论】:

  • OfficeParserConfig.class 不适用于 tika-parser V1.4。请您在这方面帮助我。
  • 我建议将您的 Tika 更新到 1.8。谢谢
  • tika-parser 还是 tika-core ?
  • 你应该使用 tika-parser
  • 是的..我只使用 Tika Parser.. 但没有成功
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-01-27
  • 2019-01-18
  • 1970-01-01
  • 1970-01-01
  • 2016-03-09
  • 1970-01-01
  • 2011-06-26
相关资源
最近更新 更多