【极简Python 自动化办公】专栏是介绍如何利用python办公,减少工作负荷。篇幅精炼,内容易懂,无论是否有编程基础,都非常适合。
在日常的工作中,处理PDF是最平常不过的事情了。今天带来极简Python自动化办公系列之使用Python提取Pdf文字和表格,希望能够在PDF处理上帮到你。
这次我们准备了一个pdf测试文件,内容如下:

pdf中包括了2页,有文字,图片和表格,覆盖了大部分pdf的场景。
pdfplumber介绍
Pdfplumber是一个可以处理pdf格式信息的库。它可以查找关于每个文本字符、矩阵、和行的详细信息,也可以对表格进行提取并进行可视化调试。
官方repo:
https://github.com/jsvine/pdfplumber
安装:pip install pdfplumber
使用入门
1 | import pdfplumber |
结果:
1 | {'fontname': 'CRSMRF+PingFangTC-Semibold', 'adv': Decimal('1.000'), 'upright': 1, 'x0': Decimal('57.000'), 'y0': Decimal('751.840'), 'x1': Decimal('81.000'), 'y1': Decimal('779.776'), 'width': Decimal('24.000'), 'height': Decimal('27.936'), 'size': Decimal('27.936'), 'object_type': 'char', 'page_number': 1, 'text': '关', 'top': Decimal('62.224'), 'bottom': Decimal('90.160'), 'doctop': Decimal('62.224')} |
格式化之后:

1 | { |
常用方法
- extract_text() 用来提页面中的文本,将页面的所有字符对象整理为一个字符串
- extract_words() 返回的是所有的单词及其相关信息
- extract_tables() 提取页面的表格
提取文字
1 | #!/usr/bin/env python3 |

1 | 关于我们 |
提取表格
1 | #!/usr/bin/env python3 |

1 | 分类 书名 |
总结
pdfplumber的接口还是很容易的,如果只是需要提取文字,几行代码就可以提取到。如果是表格并没有提取出来或者错误的提取了非表格的内容,你需要在提取表格时加入table_settings参数来指定表格的设置。
这次的demo中,图片并没有提取出来,pdf图片的提取会放到下一篇文章,敬请期待。
人生苦短,我用python早下班。如果觉得不错,对你工作中有帮助,可以长按下列二维码关注我们的公众号。
