设计培训网站建设,凤岗网站建设,北京网络营销,上海有什么企业文章目录 1、问题描述2、问题原因3、问题解决 1、问题描述 今天在使用PDFPlumber模块提取PDF文本时extract_text()方法报错#xff0c;报错内容如下#xff1a;
Traceback (most recent call last):......File F:\Python\...\site-packages\pdfminer\pdffont.py… 文章目录 1、问题描述2、问题原因3、问题解决 1、问题描述 今天在使用PDFPlumber模块提取PDF文本时extract_text()方法报错报错内容如下
Traceback (most recent call last):......File F:\Python\...\site-packages\pdfminer\pdffont.py, line 1091, in __init__self.unicode_map ttf.create_unicode_map()File F:\Python\...\site-packages\pdfminer\pdffont.py, line 826, in create_unicode_mapassert False, str((Unhandled, fmttype))
AssertionError: (Unhandled, 6)报错代码如下
import pdfplumberwith pdfplumber.open(rfF:\...\file.pdf) as pdf:for page in pdf.pages:print(page.extract_text())2、问题原因 经查找原因最终确定可能是PDF文件本身的原因具体可见这篇文章https://github.com/jsvine/pdfplumber/discussions/994?sortnew
ChatGPT则认这种错误是因为库内部遇到了某种它无法处理的情况ChatGPT给出的解决方案如下
1 更新PDFPlumber库
pip install --upgrade pdfplumber2 检查PDF文件
确认PDF文件没有损坏并且是文本格式的PDF而不是扫描的图像
3 使用其他方法
可以尝试使用extract_words()或extract_tables()等其他方法这取决于你需要提取的内容类型
4 捕获异常
添加异常处理这样即使遇到错误也不会导致程序崩溃
try:text page.extract_text()
except AssertionError as e:print(e)text None5 尝试其他库
可以考虑使用其他PDF处理库如PyPDF2或PyMuPDF等
在尝试了ChatGPT的一些建议后确定可能是PDF本身的原因因此考虑使用其他库
3、问题解决 经过尝试最终发现PyMuPDF库可以解析使用
import fitzwith fitz.open(rfF:\...\file.pdf) as doc:for page in doc.pages():print(page.get_text())看来是PDF本身的原因我们的PDF可能已经损坏