无法使用 TesseractOCRConfig Apache Tika 提取扫描的 pdf

2023-12-11

我的 pdf 包含扫描图像,我想从中提取文本。

我尝试过的:我尝试使用 AutoDetectParser 但没有输出。

我按照中提供的解决方案进行操作Apache Tika 提取扫描的 PDF 文件还有 Apache Tika Jira,位于https://issues.apache.org/jira/browse/TIKA-1729但得到空字符串没有任何错误。

我的配置:Win 7 64位操作系统,JDK 1.8.0_45。

欢迎任何形式的帮助。


解决此问题的步骤如下:

  1. 使用适用于 Windows 的“tesseract-ocr-setup-3.05.00dev.exe”在系统中安装 Tesseract:https://sourceforge.net/projects/tesseract-ocr-alt/files/并在您的配置中设置其位置。

    Java代码:

    Parser parser = new AutoDetectParser();
    BodyContentHandler handler = new BodyContentHandler(Integer.MAX_VALUE);
    TesseractOCRConfig config = new TesseractOCRConfig();
    config.setTesseractPath(tPath);
    PDFParserConfig pdfConfig = new PDFParserConfig();
    pdfConfig.setExtractInlineImages(true);
    pdfConfig.setExtractUniqueInlineImagesOnly(false); // set to false if pdf contains multiple images.
    ParseContext parseContext = new ParseContext();
    parseContext.set(TesseractOCRConfig.class, config);
    parseContext.set(PDFParserConfig.class, pdfConfig);
    //need to add this to make sure recursive parsing happens!
    parseContext.set(Parser.class, parser);
    
  2. Maven 依赖项:

<dependencies> <dependency> <groupId>org.apache.tika</groupId> <artifactId>tika-parsers</artifactId> <version>1.13</version> </dependency> <dependency> <groupId>com.levigo.jbig2</groupId> <artifactId>levigo-jbig2-imageio</artifactId> <version>1.6.5</version> </dependency> <dependency> <groupId>com.github.jai-imageio</groupId> <artifactId>jai-imageio-core</artifactId> <version>1.3.1</version> </dependency> </dependencies>

我想这可能会有帮助。谢谢。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

无法使用 TesseractOCRConfig Apache Tika 提取扫描的 pdf 的相关文章

  • 存根方法时出现 InvalidUseOfMatchersException

    我有这个 TestNG 测试方法代码 InjectMocks private FilmeService filmeService new FilmeServiceImpl Mock private FilmeDAO filmeDao Bef
  • Swift 3 中的 JSON 解析

    有没有人能够找到一种在 Swift 3 中解析 JSON 文件的方法 我已经能够返回数据 但在将数据分解为特定字段时我没有成功 我会发布示例代码 但我已经尝试了很多不同的方法但没有成功 并且没有保存任何代码 我想要解析的基本格式是这样的 提
  • Java:无法从同一包中的不同类访问静态变量

    这很奇怪 因为我有一个可以访问 Frame dimension getWidth 的 Character 类 及其伙伴 getHeight 但是当我想在 Map 类中使用它时 Eclipse 强调了它并且无法给我反馈 运行该程序最终会出现
  • 使用 GWT 读取非常大的本地 XML 文件

    我正在使用 GWT 构建我的第一个 Java 应用程序 它必须从一个非常大的 XML 文件中读取数据 当我尝试发送对文件中信息的请求时遇到问题 并且我不太确定它是否与文件的大小或我的语义有关 在我的程序中 我有以下内容 static fin
  • 不同类型的数组

    是否可以有一个包含两种不同类型数据的数组 我想要一个包含双精度型和字符串的数组 我尝试过 ArrayList
  • 大数据使用什么数据结构

    我有一个包含一百万行的 Excel 工作表 每行有 100 列 每行代表一个具有 100 个属性的类的实例 列值是这些属性的值 哪种数据结构最适合在这里使用来存储数百万个数据实例 Thanks 这实际上取决于您需要如何访问这些数据以及您想要
  • 如何根据运行的 jar 的结果让我的 ant 任务通过或失败?

    我正在运行 CrossCheck 无浏览器 js 单元测试 作为 ant 脚本的一部分 如果 CrossCheck 测试失败 我希望 ant 报告失败 这是 build xml 中的相关部分
  • Jackson XML ArrayList 输出具有两个包装器元素

    我在 Jackson 生成的 XML 输出中得到了两个包装器元素 我只想拥有一个 我有一个 Java bean Entity Table name CITIES JacksonXmlRootElement localName City pu
  • 如何使用 Hibernate (EntityManager) 或 JPA 调用 Oracle 函数或过程

    我有一个返回 sys refcursor 的 Oracle 函数 当我使用 Hibernate 调用该函数时 出现以下异常 Hibernate call my function org hibernate exception Generic
  • 读取电子邮件的文本文件转换为 Javamail MimeMessage

    我有一个电子邮件原始来源的文本文件 直接从 gmail 复制 如果您单击 查看原始文件 您就会看到它 我想读入该文件并将其转换为 MimeMessage 如果您好奇为什么 我设置了 JavaMaildir 并且需要用电子邮件填充它的收件箱以
  • GWT 2.3 开发模式 - 托管模式 JSP 编译似乎不使用 java 1.5 兼容性

    无法编译 JSP 类 生成的 servlet 错误 DefaultMessage 上次更新 0 日期 中 0 时间 HH mm ss z 语法 错误 注释仅在源级别为 1 5 时可用 在尝试以开发模式在 Web 浏览器中打开我的 gwt 模
  • 如何在 Java 中创建接受多个值的单个注释

    我有一个名为 Retention RetentionPolicy SOURCE Target ElementType METHOD public interface JIRA The Key Bug number JIRA referenc
  • 返回 Java 8 中的通用函数接口

    我想写一种函数工厂 它应该是一个函数 以不同的策略作为参数调用一次 它应该返回一个函数 该函数根据参数选择其中一种策略 该参数将由谓词实现 嗯 最好看看condition3为了更好的理解 问题是 它没有编译 我认为因为编译器无法弄清楚函数式
  • 使用布尔值进行冒泡排序以确定数组是否已排序

    我有以下用于冒泡排序的代码 但它根本不排序 如果我删除布尔值那么它工作正常 我知道 由于我的 a 0 小于所有其他元素 因此没有执行交换 任何人都可以帮助我解决这个问题 package com sample public class Bub
  • JMenu 中的文本居中

    好吧 我一直在网上寻找有关此问题的帮助 但我尝试的任何方法似乎都不起作用 我想让所有菜单文本都集中在菜单按钮上 当我使用setHorizontalTextPosition JMenu CENTER 没有变化 事实上 无论我使用什么常量 菜单
  • Spring-ws:如何从没有“Request”元素的 xsd 创建 Wsdl

    尝试为客户端实现 SOAP Web 服务 我需要一个 wsdl 文件来通过soapUI 测试该服务 但正如您在下面看到的 这个 xsd 没有 Request 和 Response 方法 所有请求和响应都被定义为基本 ServiceProvi
  • 使用按钮作为列表的渲染器

    我想使用一个更复杂的渲染器 其中包含列表的多个组件 更准确地说 类似于this https stackoverflow com questions 10840498 java swing 1 6 textinput like firefox
  • OpenCSV:将嵌套 Bean 映射到 CSV 文件

    我正在尝试将 bean 映射到 CSV 文件 但问题是我的 bean 具有其他嵌套 bean 作为属性 所发生的情况是 OpenCSV 遍历属性找到一个 bean 然后进入其中并映射该 bean 内的所有数据 如果找到另一个 bean 它就
  • 洪水填充优化:尝试使用队列

    我正在尝试创建一种填充方法 该方法采用用户指定的初始坐标 检查字符 然后根据需要更改它 这样做之后 它会检查相邻的方块并重复该过程 经过一番研究 我遇到了洪水填充算法并尝试了该算法 它可以工作 但无法满足我对 250 x 250 个字符的数
  • 在java中使用多个bufferedImage

    我正在 java 小程序中制作游戏 并且正在尝试优化我的代码以减少闪烁 我已经实现了双缓冲 因此我尝试使用另一个 BufferedImage 来存储不改变的游戏背景元素的图片 这是我的代码的相关部分 public class QuizApp

随机推荐

  • 打开网页,全选,复制到sheet中

    希望从 Barcharts com 复制股票期权数据并粘贴到 Excel 工作表中 Sub CopyTables Dim ie As Object Dim I As Long I 0 Set ie CreateObject Internet
  • 当我尝试在 Android Studio 中插入新的矢量资源时,“没有任何内容可显示”

    无内容可显示 错误 矢量资源 大家好 所以 最近我将 Android Studio 版本更新到了 4 1 最新版本 我想像平常一样添加矢量资源 但是 不知何故 图标的预览没有显示 我无法选择矢量资源 甚至无法添加矢量资源 有没有什么办法解决
  • 如何在Inno Setup的InputDirPage中显示/使用用户选择的应用程序路径{app}?

    我正在使用 Inno Setup 创建一个安装程序 我必须从用户那里采取两条路径 一个用于程序可执行文件 另一个用于库 默认应用程序文件夹是 pf companyname applicationname In the InitializeW
  • .swf 文件的 ASP.NET 菜单问题

    我在 asp net 页面上有一个下拉菜单和一个 swf 文件 当菜单下拉时 它出现在 swf 文件的后面 而它本应出现在前面 将以下参数添加到 OBJECT 标签
  • C# 泛型不允许委托类型约束

    是否可以在 C 中定义一个类 class GenericCollection
  • Android可绘制资源ID冲突?

    我已经将ZXing 1 7的 android项目设置为引用的库 由我的主要 Android 应用程序项目 作为快速测试 概念验证 我 已使用 CaptureActivity 其方式与此处描述的方式相同 http damianflannery
  • 如何在 iOS 中的 Web 套接字中查看 ping pong

    我正在iOS中的webview和Socketserver之间做websocket 但我无法观看乒乓球的发生 因为 javascript 没有任何回调方法 Use 查尔斯 普罗克斯 它有一个名为WebSocket显示所有与 Web 套接字相关
  • 下载时替换文件

    参考这个例子 http jsfiddle net m9nts8r1 我怎样才能更新内容updatedText xml当按下 下载 按钮时 就像在任何应用程序中按下 保存 按钮时一样吗 在这种情况下 我只需再买一个updatedText 1
  • 不允许我将外键添加到 SQL Server 中的表中

    我正在整理数据库并尝试对所有依赖项进行排序 但在将外键添加到表中时不断遇到错误 我已经检查了限制 但似乎找不到任何限制 所以我只是想知道问题出在哪里 患者 表已成功保存 预约 表 无法创建关系 FK Appointments PATIENT
  • ListView 自动调整大小以显示所有项目

    我想要创建的是一个列表视图 它将调整自身大小以显示所有项目 通常我会使用 AutoSize 但这在这里不起作用 还有其他选项如何使 ListView 扩展和收缩以适应所有情况 您必须手动计算所需的高度 并在添加 删除项目时进行设置 不直接支
  • magento 中的 Ajax(加载产品视图块)

    我想要实现的目标 单击产品链接 图像 至少在某些区域 可打开一个弹出窗口 其中包含完整的产品信息 基本上是产品视图页面的所有内容 到目前为止我所做的 尝试过的 创建了 ajax php 代码之外的所有内容 模块 链接 模板 重写 创建了 a
  • 将数据帧列表传递给 lm() 并查看结果

    我有三个数据帧 dfLON dfMOS 和 dfATA 每个都有相同的变量 y是连续变量 a b和c是二元分类变量 还有一些NA 我想建立单独的线性回归模型 每个数据集一个 使用我当前的代码 我已成功创建数据帧列表并将其传递到 lm 中 但
  • 测试时管道损坏(写入失败)> 允许的最大内容长度[重复]

    这个问题在这里已经有答案了 我正在尝试编写一个测试来验证我的服务器拒绝大于 1MB 的请求 Scenario large requests are rejected Given url https my server com anythin
  • 添加带有材质表的组件会更改 Material-UI AppBar 样式

    我的应用程序正在使用 Material UI 和材料表 使用 ThemeProvider 作为子项在 index js 文件中应用全局主题 然后再有子项
  • 将 int 传递给函数,然后使用该 int 创建数组

    我正在尝试为我的 openGL 项目创建一个textureLoader 类 但无法在类构造函数内初始化纹理数组 因为该数组不会接受任何内容 除非它是 const int 给你画一幅简单的图画 myFunction NUM GLuint te
  • Laravel:使用 try...catch 和 DB::transaction()

    我们都用DB transaction 对于多个插入查询 这样做时 应该try catch放在里面还是包裹起来 是否还需要包括一个try catch如果出现问题 交易什么时候会自动失败 Sample try catch包装交易 try cat
  • HTML 画布悬停文本

    我有一个 HTML 画布 其中包含所有不同大小的不同形状 它是通过解析外部文件中的信息来构建的 我想知道如何制作 以便将鼠标悬停在每个形状上都会显示其唯一的名称 我找到了有关如何在鼠标悬停时显示文本的资源whole画布 但我需要每个单独的形
  • 以编程方式推广 QWidget

    我有一个 ui 文件 其中包含QProgressBar in a QWidget 此外 我创建了继承自的自定义进度条组件QProgressBar 在QT Designer中 我可以推广QProgressBar小部件到我的自定义小部件 有没有
  • 计算数组中的重复项[重复]

    这个问题在这里已经有答案了 我正在尝试显示数组的内容 但如果存在重复项 则仅打印名称和数字 例如 myArr apple apple orange apple banana orange pineapple 会显示 apple 3 oran
  • 无法使用 TesseractOCRConfig Apache Tika 提取扫描的 pdf

    我的 pdf 包含扫描图像 我想从中提取文本 我尝试过的 我尝试使用 AutoDetectParser 但没有输出 我按照中提供的解决方案进行操作Apache Tika 提取扫描的 PDF 文件还有 Apache Tika Jira 位于h