1.升级Python
之前win10 x64操作系统上安装的是python3.7.0版本(此版本也能进行本文的工作)。出于后续识别图片中文字的需要,还是将其升级到了python 3.8版本。
Python官方下载地址 并不用卸载旧的 python3.7.0版本,在官网下载python-3.8.10-amd64.exe文件后,安装,将安装目录添加至Path环境变量。同时屏蔽(或删除)之前 python3.7.0版本的环境变量即可。
重启PC,新的环境变量生效。
2.使用Python识别PDF中字符、文字
声明: 所使用的PDF不能是图片扫描件或者是直接由图片生成的PDF,否则无法识别。PDF文件中的文字必须满足鼠标可拖选高亮、且可复制。
2.1 依赖模块安装
先安装pdfplumber:
pip install pdfplumber
第二个是fitz, 它是pymupdf中的一个模块,pip轻松安装。
pip install pymupdf
2.2 文字信息提取思路
A)先用pdfplumber打开一个 PDF 文件。
B)获取指定的页,例如page = pdf.pages[0]便是获取第1页。或者遍历所有页。
C)利用.extract_text()方法提取当前页的文字。
2.3 代码案例
import pdfplumber
file_path = r’C:\Users\Curry\Desktop\1234.pdf’
with pdfplumber.open(file_path) as pdf:
page = pdf.pages[0]
print(page.extract_text())
2.4 表格信息提取
提取单个表格与提取单页文字代码类似,用.extract_table().
要注意的是.extract_table()默认提取指定页面第一个表格,如需提取当前页面的多个表格,则使用.extract_tables()。
import pdfplumber
file_path = r'C:\xxxx\12345.PDF'
with pdfplumber.open(file_path) as pdf:
page = pdf.pages[0]
print(page.extract_table())