如何从 PDF 文档中提取表格?

2024-01-16

我正在尝试从 PDF 文档中提取表格(example http://www.nea.org.np/images/supportive_docs/55082070-3-19.pdf)。它不是扫描/图像,因此请关注非 OCR 解决方案。OCR表格提取在这里 https://stackoverflow.com/q/74559877/562769.

我尝试了 pdf -> html -> extract table 的路线。我上面提到的pdf在转换为html时会产生垃圾,可能是因为字体的原因,该文档不是英文的。

使用 x 和 y 坐标提取 pdf 不是一个选项,因为此解决方案需要适用于上面提到的 url 中的未来 pdf,其中将包含表格,但并不总是位于相同位置。


PDF 不包含明确的表格数据。它仅包含我们倾向于将其解释为表格的行和字符字形。因此,您的任务涉及将我们的人类桌子识别功能放入代码中,这是一项艰巨的任务。

一般来说,如果您确信未来的 PDF 将会由相同的软件以非常相似的方式生成,那么它might值得花时间研究该文件,以获取一些易于遵循的提示来识别各个字段的内容。

不过,您的具体文件还有一个额外的缺点:它不包含直接文本提取所需的信息!您可以尝试从 Adob​​e Reader 中复制和粘贴,您将获得(至少我这样做)WinAnsi 范围内的半随机字符。

这是因为文档中的所有字体都声称它们使用 WinAnsiEncoding,即使这种方式引用的字符最终不是来自 WinAnsi 字符选择。

因此,在没有 OCR 的情况下从文档中可靠地提取文本毕竟是不可能的!

(尝试从 Adob​​e Reader 中进行复制和粘贴通常是一个很好的初步测试文本提取是否可行的方法;Reader 的文本提取方法已经开发了很多年,因此已经变得非常好。如果您无法提取任何有意义的内容,请使用Acrobat Reader,文本提取确实是一项非常困难的任务。)

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

如何从 PDF 文档中提取表格? 的相关文章

  • 是否有解决方法可以通过 CoinGecko API 安全检查?

    我在工作中运行我的代码 一切都很顺利 但在不同的网络 家庭 WiFi 上 我不断收到403访问时出错CoinGecko V3 API https www coingecko com api documentations v3 可以观察到 在
  • 使用 python requests 模块时出现 HTTP 503 错误

    我正在尝试发出 HTTP 请求 但当前可以从 Firefox 浏览器访问的网站响应 503 错误 代码本身非常简单 在网上搜索一番后我添加了user Agent请求参数 但也没有帮助 有人能解释一下如何消除这个 503 错误吗 顺便说一句
  • Django 的内联管理:一个“预填充”字段

    我正在开发我的第一个 Django 项目 我希望用户能够在管理中创建自定义表单 并向其中添加字段当他或她需要它们时 为此 我在我的项目中添加了一个可重用的应用程序 可在 github 上找到 https github com stephen
  • 使用特定的类/函数预加载 Jupyter Notebook

    我想预加载一个笔记本 其中包含我在另一个文件中定义的特定类 函数 更具体地说 我想用 python 来做到这一点 比如加载一个配置文件 包含所有相关的类 函数 目前 我正在使用 python 生成笔记本并在服务器上自动启动它们 因为不同的
  • 在 django ORM 中查询时如何将 char 转换为整数?

    最近开始使用 Django ORM 我想执行这个查询 select student id from students where student id like 97318 order by CAST student id as UNSIG
  • 用枢轴点拟合曲线 Python

    我有下面的图 我想用 2 条线来拟合它 使用 python 我设法适应上半部分 def func x a b x np array x return a x b popt pcov curve fit func up x up y 我想用另
  • 需要在python中找到print或printf的源代码[关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我正在做一些我不能完全谈论的事情 我
  • 删除flask中的一对一关系

    我目前正在使用 Flask 开发一个应用程序 并且在删除一对一关系中的项目时遇到了一个大问题 我的模型中有以下结构 class User db Model tablename user user id db Column db String
  • 立体太阳图 matplotlib 极坐标图 python

    我正在尝试创建一个与以下类似的简单的立体太阳路径图 http wiki naturalfrequent com wiki Sun Path Diagram http wiki naturalfrequency com wiki Sun Pa
  • 如何使用 Pandas、Numpy 加速 Python 中的嵌套 for 循环逻辑?

    我想检查一下表的字段是否TestProject包含了Client端传入的参数 嵌套for循环很丑陋 有什么高效简单的方法来实现吗 非常感谢您的任何建议 def test parameter a list parameter b list g
  • 在Python中连接反斜杠

    我是 python 新手 所以如果这听起来很简单 请原谅我 我想加入一些变量来生成一条路径 像这样 AAAABBBBCCCC 2 2014 04 2014 04 01 csv Id TypeOfMachine year month year
  • 如何将张量流模型部署到azure ml工作台

    我在用Azure ML Workbench执行二元分类 到目前为止 一切正常 我有很好的准确性 我想将模型部署为用于推理的 Web 服务 我真的不知道从哪里开始 azure 提供了这个doc https learn microsoft co
  • 使用 xlrd 打开 BytesIO (xlsx)

    我正在使用 Django 需要读取上传的 xlsx 文件的工作表和单元格 使用 xlrd 应该可以 但因为文件必须保留在内存中并且可能不会保存到我不知道如何继续的位置 本例中的起点是一个带有上传输入和提交按钮的网页 提交后 文件被捕获req
  • Python 2:SMTPServerDisconnected:连接意外关闭

    我在用 Python 发送电子邮件时遇到一个小问题 me my email address you recipient s email address me email protected cdn cgi l email protectio
  • 如何通过索引列表从 dask 数据框中选择数据?

    我想根据索引列表从 dask 数据框中选择行 我怎样才能做到这一点 Example 假设我有以下 dask 数据框 dict A 1 2 3 4 5 6 7 B 2 3 4 5 6 7 8 index x1 a2 x3 c4 x5 y6 x
  • 使用特定颜色和抖动在箱形图上绘制数据点

    我有一个plotly graph objects Box图 我显示了箱形 图中的所有点 我需要根据数据的属性为标记着色 如下所示 我还想抖动这些点 下面未显示 Using Box我可以绘制点并抖动它们 但我不认为我可以给它们着色 fig a
  • 如何使用原始 SQL 查询实现搜索功能

    我正在创建一个由 CS50 的网络系列指导的应用程序 这要求我仅使用原始 SQL 查询而不是 ORM 我正在尝试创建一个搜索功能 用户可以在其中查找存储在数据库中的书籍列表 我希望他们能够查询 书籍 表中的 ISBN 标题 作者列 目前 它
  • Pandas 将多行列数据帧转换为单行多列数据帧

    我的数据框如下 code df Car measurements Before After amb temp 30 268212 26 627491 engine temp 41 812730 39 254255 engine eff 15
  • 在本地网络上运行 Bokeh 服务器

    我有一个简单的 Bokeh 应用程序 名为app py如下 contents of app py from bokeh client import push session from bokeh embed import server do
  • Pandas 每周计算重复值

    我有一个Dataframe包含按周分组的日期和 ID df date id 2022 02 07 1 3 5 4 2022 02 14 2 1 3 2022 02 21 9 10 1 2022 05 16 我想计算每周有多少 id 与上周重

随机推荐

  • Android 如何在 mediaPlayer 中仅播放歌曲 30 秒

    我正在 Android 上工作 我正在创建一个音频歌曲播放器 我只想播放一首歌 30 秒 之后 必须关闭播放器 如果我按下 它应该重新开始START再次按钮 这是创建媒体播放器的代码 MediaPlayer mediaPlayer new
  • 未找到 JavaFX 包

    我正在尝试使用组合的 Swing 和 JavaFX 组件创建一个项目 但我的 IDE 找不到 JavaFX 包 尝试使用 Netbeans 和 Eclipse import javafx embed swing JFXPanel says
  • 尝试完成输入事件,但输入事件接收器已被释放

    我正在尝试我在网上看到的教程 该应用程序从服务器获取并显示 JSONfeed 这部分工作正常 我试图在自定义列表视图中显示此提要 但是当我尝试这样做时 我得到 尝试完成输入 事件 但输入事件接收器已被处理 logcat 中的错误 并且应用程
  • 生成和执行之间有什么区别?

    我正在学习编写 TCL 期望 脚本 我注意到一些示例显示了如何使用 spawn 而其他示例则显示了命令 exec 我尝试谷歌搜索 但找不到有什么区别 假设我在一个很长的期望脚本中间调用 exec 我会期望发生什么 spawn is an e
  • 数组和线程安全访问

    如果我有一个可以 将在任何给定时间点被多个线程访问的数组 到底是什么导致它是非线程安全的 以及确保该数组在大多数情况下是线程安全的步骤是什么情况 我在互联网上进行了广泛的查找 发现几乎没有关于这个主题的信息 一切似乎都是特定的场景 例如 这
  • 使用 Entity FrameworkWork 保存更改/更新数据集中的现有对象,而不必单独设置每个属性

    我可以做类似下面的事情 这不起作用 而不必显式设置对象的每个属性吗 Product 是默认模型绑定程序从表单提交创建的对象 ProductInDb 是我希望覆盖 更新的上下文 数据库中的对象 两者的 ProductID 主键相同 var P
  • Ubuntu:无法纠正问题,您持有损坏的软件包

    尝试安装此程序时 我收到 无法纠正问题 您持有损坏的软件包 错误消息 阿帕奇版本 服务器版本 Apache 2 4 2 Ubuntu 服务器建成 2012 年 6 月 27 日 07 23 35 aptitude install libap
  • while(true) 与 setInterval(function(),0) [重复]

    这个问题在这里已经有答案了 设置间隔 重复调用函数或执行代码片段 每次调用该函数之间有固定的时间延迟 while 创建一个循环 只要测试条件的计算结果为 true 该循环就会执行指定的语句 之前评估过条件 执行该语句 如果我使用while
  • 公共属性的默认值

    我在某个班级有一个公共财产 我想要这个属性的默认值 1 而不需要像 MyField这样的私有变量 因为这个类中的属性太多 我不会一一添加它们 public int MyProperty get set 我认为 DefaultValue At
  • 在unittest中覆盖python函数局部变量

    我在 python 2 7 中有一个方法可以执行 foo 操作 如果 foo 不起作用 则在 5 分钟后放弃 def keep trying self timeout 300 empirically derived appropriate
  • GoogleFit 示例不起作用

    我正在尝试使用 BasicHistory Sample 来存储数据 然后读取它 但在我的情况下 代码卡在插入调用中 await 调用不会返回我尝试使用异步方式的任何内容 这里是代码 com google android gms common
  • 在哪里可以找到 Microsoft SQL Server 2008 的 Northwind 数据库?

    我正在尝试查找并创建 导入 Northwind 数据库来练习我的 Linq fu 我一生都找不到它 搜索只是将我转到此页面 这反过来又告诉我在不存在的官方页面上找到它 http msdn microsoft com en us librar
  • 数据绑定在表单加载之前不起作用 - 组合框项仅在表单加载后初始化

    我在 winform 上有两个组合框 一个包含列表 MyList 中的所有值 另一个我想拥有第一个选定索引中的所有值 但我认为将项目加载到组合框中时存在问题 public partial class Form1 Form public Fo
  • 在 Chrome 中禁用表单自动填充而不禁用自动完成[重复]

    这个问题在这里已经有答案了 我们如何禁用 Chrome 的自动填充功能
  • 如何在 Internet Explorer 中创建跨域 XMLHTTPRequest

    我的代码如下所示 推荐在 IE 下运行 但仅在 Chrome 和 FF 下运行 是否有正确的方法从另一个域访问 url 此外 该域是我拥有的域 可以允许访问尝试访问它的脚本
  • 如何检测 Topshelf 是否在控制台模式下运行

    我将 Topshelf 与 FluentSchedule 结合用于 Windows 服务 但是 我希望能够试运行应用程序以简单地启动而不是执行设置计时器等的 FluentSchedule 代码 从命令行运行 exe 文件 即没有 安装 命令
  • 在 PHP 中打印多维数组的单个值

    我正在使用以下数组 Array 0 gt Array id gt 6 key gt SITE NAME value gt Webg Smarty CMS Small name gt general title gt website name
  • ConstraintLayout - 如何垂直对齐两个视图的中心

    我有两个视图 A 和 B 它们有不同的高度 如何在内部垂直对齐这些视图的中心ConstraintLayout 例如 在下面的 XML 中 我想要中心img change picture与中心对齐txt change picture
  • 在用户空间处理 GPIO ARM9 嵌入式 Linux AM1808

    我必须将我的 GSM 模块与基于 ARM9 的 AM1808 连接起来 我已将所有 GPIO 引脚分配给 Da850 c 以及 mux h 文件 我成功创建了一个 uImage 并将该图像插入到我的 Flash 中 我需要处理用户应用程序中
  • 如何从 PDF 文档中提取表格?

    我正在尝试从 PDF 文档中提取表格 example http www nea org np images supportive docs 55082070 3 19 pdf 它不是扫描 图像 因此请关注非 OCR 解决方案 OCR表格提取