【问题标题】:Unable to extract text using TIKA无法使用 TIKA 提取文本
【发布时间】:2017-01-27 22:43:20
【问题描述】:

我们有一个 pdf,它是手写文档,并使用扫描仪转换为 pdf。我正在使用 TIKA 1.13 但无法从此类文件中提取文本。解析后我只得到“\n\n”作为文本。这是我的代码:

Parser parser = new AutoDetectParser();
ContentHandler handler = new BodyContentHandler(Integer.MAX_VALUE);
PDFParserConfig pdfConfig = new PDFParserConfig();
pdfConfig.setExtractInlineImages(true);
ParseContext parseContext = new ParseContext();
parseContext.set(PDFParserConfig.class, pdfConfig);
parseContext.set(Parser.class, parser);
Metadata metadata = new Metadata();
parser.parse(stream, handler, metadata, parseContext);

有人可以帮忙吗?

【问题讨论】:

  • was a hand-written document and converted to pdf,因此 PDF 是图像。 PDF 中没有文本。您可以尝试使用 OCR 工具将图像转换为文本,或者扫描仪内置 OCR 不会提取任何文本。
  • TIKA 能帮我从这种基本上是图像的 pdf 中提取文本吗?
  • 如果我尝试使用扫描的 pdf 运行 tesseract 命令,它会给我一个错误“不支持的图像类型”。我应该先将我的 pdf 转换为图像文件,然后将 TIKA 与 tesseract 配置一起使用吗?同样在生产中我无法安装 tesseract 那么我应该如何在我的 java spring 服务中添加 tesseract 的依赖项?
  • 对,tesseract 无法读取 pdf,您必须通过 Tika 使用 tesseract 或以正确的格式转换/提取图像。如果你不能安装 tesseract,我认为这可能是一个非首发。

标签: java parsing apache-tika


【解决方案1】:

PDF 有两种基本风格。在我喜欢称之为纯 pdf 的内容中,文本嵌入在与 html 标记、文字标记等功能相同的标记语言中。可以从这种类型的 pdf 中恢复文本。 另一种类型是当您将 word 文档另存为 pdf 时得到的。将原始文档的每一页转换为图像,然后将图像嵌入到支持分页的 pdf 框架中。这次的提取为您提供了一组图像。这些可能适合也可能不适合 OCR 处理。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-10-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多