我正试图从pdf文档中的一些表中提取信息。

考虑输入:Title 1

some text some text some text some text some text

some text some text some text some text some text

Table Title

| Col1 | Col2 | Col3 |

|---------------|---------|---------|

| val11 | val12 | val13 |

| val21 | val22 | val23 |

| val31 | val32 | val33 |

Title 2

some more text some more text some more text some more text

some more text

some more text some more text some more text some more text

我可以得到这样的大纲/标题:path='myFile.pdf'

# Open a PDF file.

fp = open(path, 'rb')

# Create a PDF parser object associated with the file object.

parser = PDFParser(fp)

# Create a PDF document object that stores the document structure.

# Supply the password for initialization.

document = PDFDocument(parser, '')

outlines = document.get_outlines()

for (level,title,dest,a,se) in outlines:

print (level, title)

这给了我:(1, u'Title 1')

(2, u'Table Title')

(1, u'Title 2')

这是完美的,因为级别与文本层次结构对齐。现在我可以提取文本如下:if not document.is_extractable:

raise PDFTextExtractionNotAllowed

# Create a PDF resource manager object that stores shared resources.

rsrcmgr = PDFResourceManager()

# Create a PDF device object.

laparams = LAParams()

device = PDFPageAggregator(rsrcmgr, laparams=laparams)

# Create a PDF interpreter object.

interpreter = PDFPageInterpreter(rsrcmgr, device)

# Process each page contained in the document.

text_from_pdf = open('textFromPdf.txt','w')

for page in PDFPage.create_pages(document):

interpreter.process_page(page)

layout = device.get_result()

for element in layout:

if isinstance(element, LTTextBox):

text_from_pdf.write(''.join([i if ord(i) < 128 else ' '

for i in element.get_text()]))

这给了我:Title 1

some text some text some text some text some text some text some text

some text some text some text some text some text some text some text

Table Title

Col1

val11

val12

val13

Col2

val21

val22

val23

Col3

val31

val32

val33

Title 2

some more text some more text some more text some more text

some more text

some more text some more text some more text some more text

这有点奇怪,因为表是按列方式提取的。我能把桌子一行一行地拿到吗?此外,如何确定表的开始和结束位置?

python pdfminer读取pdf表格_如何使用PDFMiner从pdf中提取表格?相关推荐

  1. wps怎么在后面加入表格_如何在WPS文档中插入表格

    在办公中经常会用到表格,表格可以将复杂的数据以行或列的形式展现出来,使数据更加直观,更加清晰,下面我们就介绍下如何在文档中插入表格. (1)插入表格.插入表格的方法很多,可以直接单击"插入& ...

  2. 用camelot读取表格_如何使用Camelot从PDF提取表格

    用camelot读取表格 数据科学 (DATA SCIENCE) 安装 (Installation) If you are on Windows make sure to install Ghosts ...

  3. python pdf转word 表格_太赞了!Pdf转Word,我用Python 轻松搞定表格和水印!

    原标题:太赞了!Pdf转Word,我用Python 轻松搞定表格和水印! 继上一次为大家推出了将pdf转word之后(卧槽!Pdf转Word用Python轻松搞定!),引起了大家的热烈讨论,我也总结了 ...

  4. 怎么提取pdf中的表格数据_如何从pdf第1部分中提取表格数据

    怎么提取pdf中的表格数据 In this article, we talk about the challenges and principles of extracting tabular dat ...

  5. 鱼c论坛 python课后题pdf,我与python的第一次亲密接触_课后测试题及答案.pdf

    我与python的第一次亲密接触_课后测试题及答案.pdf 还剩 10页未读, 继续阅读 下载文档到电脑,马上远离加班熬夜! 亲,喜欢就下载吧,价低环保! 内容要点: 2015/8/19 第001讲: ...

  6. Camelot:从pdf中提取表格数据

    Camelot:从pdf中提取表格数据 文章目录: 一.Camelot的介绍和安装 1. Camelot介绍 2. Camelot的安装 3. 其他 二.Camelot的使用 1. 快速入门使用 2. ...

  7. 从 pdf 中提取表格信息、合并、解析、输出数据

    从 pdf 中提取表格信息.合并.解析.输出 pdf 格式浅述 word 文档 与 pdf pdf 文档撰写的优点与难点 从 pdf 中抽取表格所在的页 从 pdf 中抽取表格 合并表格.解析表格.生 ...

  8. 【python学习】批量读取Materials Studio的sdf文件,从文件中提取特定信息并按列存储在CSV文件

    批量读取Materials Studio的sdf文件,从文件中提取特定信息并按列存储在CSV文件 Materials Studio在执行dmol3模块中结构优化任务时,任务结束后会产生一系列的输出文件 ...

  9. 用Aspose.Words 从Word文档中提取表格数据

    用Aspose.Words 从Word文档中提取表格数据 对于某些项目,开发人员需要从Word文档中提取数据并导出到数据库.最大的挑战是必须支持现有Word文档. 相同格式且带多个数据块的Word文档 ...

最新文章

  1. Silverlight:SSL教程
  2. Error loading MySQLdb module: No module named MySQLdb
  3. JAVA ulimit,java-从linux中的jvm中查找硬打开和软打开文件限制(ulimit -n和ulimit -Hn)
  4. 《前端工程化体系设计与实践》-笔记
  5. 插入排序——3希尔排序实现
  6. 笔记本html外接显示器,笔记本如何外接显示器
  7. LeetCode 53最大子序和
  8. nginx官方模块之http_random_index_module
  9. java实践_java基础实践
  10. spring 跨域 CORS (Cross Origin Resources Share) 跨域
  11. TestNg框架源码解析
  12. android自动刷广告软件是,自动刷视频挂机下载-自动刷视频软件下载1.0安卓版-西西软件下载...
  13. Windows 8激活产品密匙公布
  14. hadoop:Secondary NameNode 它究竟有什么作用?
  15. MySQL--局域网、外网访问MySQL
  16. 描述计算机内存的参数,电脑组装内存知识,你不能不知的内存参数介绍
  17. 12以内阶乘、自然对数e及e的x次方的计算(Factorial)
  18. Conditional Likelihood Maximisation: A Unifying Framework for Information Theoretic Feature Selecti
  19. 局部路径规划算法-DWA动态窗口法
  20. 前端怎么从H5调起微信扫描二维码?小程序使用扫码功能.

热门文章

  1. 配置完全免费的https服务器
  2. 为本教育廖兰秀心理咨询师如何
  3. 你不知道的那些高清图片素材网站
  4. 有 1000 个一模一样的瓶子,其中有 999 瓶是普通的水,有一瓶是毒药。
  5. 精华分享,《这样读书就够了》让知识为你所用
  6. vue3 路由 vite方式新建项目 配置路由【适合新手】
  7. 路由器使用:漫谈能上QQ不能上网问题【转】
  8. RVO动态避障测试示例
  9. 燃油车疯狂大降价!穷途末路的传统车企
  10. 使用CDN搭建Github图床