1.升级Python

之前win10 x64操作系统上安装的是python3.7.0版本(此版本也能进行本文的工作)。出于后续识别图片中文字的需要,还是将其升级到了python 3.8版本。

Python官方下载地址 并不用卸载旧的 python3.7.0版本,在官网下载python-3.8.10-amd64.exe文件后,安装,将安装目录添加至Path环境变量。同时屏蔽(或删除)之前 python3.7.0版本的环境变量即可。

python pdf提取标题 python提取pdf中的文字_python pdf提取标题


重启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()方法提取当前页的文字。

python pdf提取标题 python提取pdf中的文字_Python_02

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().

python pdf提取标题 python提取pdf中的文字_python pdf提取标题_03

要注意的是.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())