news 2026/6/16 1:26:02

`pdfplumber` 是一个用于从 PDF 文件中提取文本、表格和元数据的 Python 库

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
`pdfplumber` 是一个用于从 PDF 文件中提取文本、表格和元数据的 Python 库

pdfplumber是一个用于从 PDF 文件中提取文本、表格和元数据的 Python 库,特别擅长处理含复杂布局(如多栏、合并单元格、不规则表格)的 PDF。它基于pdfminer.six,但提供了更友好、更直观的 API。

安装方式:

pipinstallpdfplumber

基本使用示例(提取文本):

importpdfplumberwithpdfplumber.open("example.pdf")aspdf:full_text=""forpageinpdf.pages:full_text+=page.extract_text()or""# extract_text() 可能返回 Noneprint(full_text)

提取表格示例:

withpdfplumber.open("example.pdf")aspdf:forpageinpdf.pages:tables=page.extract_tables()# 返回列表,每个元素是二维列表(表格)fortableintables:print(table)

注意事项:

  • 中文支持需确保 PDF 内嵌字体且编码正确;若乱码,可尝试设置layout=True或配合pdfplumber.open(..., password="xxx")解密。
  • 性能较慢(逐页解析),大文件建议按需处理页码。
  • 不支持直接编辑或生成 PDF,仅用于提取。

pdfplumber中,可以通过page.crop(bbox)方法先裁剪页面指定矩形区域(bounding box),再在该子区域内调用extract_text()extract_words()等方法,从而实现精准提取指定坐标范围内的文本。

坐标系说明(重要)
pdfplumber 使用 PDF 标准坐标系:

  • 原点(0, 0)左下角
  • x向右递增,y向上递增;
  • bbox = (x0, y0, x1, y1)表示矩形区域,其中:
    • x0,y0:左下角横纵坐标;
    • x1,y1:右上角横纵坐标;
    • 要求x0 < x1y0 < y1

📌操作步骤

  1. 打开 PDF,定位目标页;
  2. 使用page.crop((x0, y0, x1, y1))获取裁剪后的CroppedPage对象;
  3. 在裁剪页上调用extract_text()(支持layout=True/Falsekeep_blank_chars等参数);
  4. (可选)用page.debug_tablefinder({})可视化表格区域辅助定位。

🔧 示例代码:

importpdfplumberwithpdfplumber.open("report.pdf")aspdf:page=pdf.pages[0]# 第一页# 示例:提取左上角约 100×50 区域(注意 y 坐标从底向上!)# 假设页面高度为 page.height ≈ 792(如 Letter 尺寸),则顶部区域 y 范围约为 height-50 到 heightbbox=(50,page.height-100,200,page.height-50)# (x0, y0, x1, y1)cropped=page.crop(bbox)text=cropped.extract_text()print("指定区域文本:",textor"[无文本]")

💡 提示:

  • 若不确定坐标,可用page.to_image().draw_rect(bbox).save("debug.png")可视化验证(需安装Pillowopencv-pythonpdfplumber[plot]);
  • 支持链式调用:page.crop(...).extract_text()
  • crop()也适用于extract_tables()extract_words()等,提升精度和性能。
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/16 1:22:06

MyTV-Android 架构解析:面向老旧安卓设备的直播系统性能优化方案

MyTV-Android 架构解析&#xff1a;面向老旧安卓设备的直播系统性能优化方案 【免费下载链接】mytv-android 使用Android原生开发的视频播放软件 项目地址: https://gitcode.com/gh_mirrors/my/mytv-android 在安卓电视生态中&#xff0c;老旧设备面临着性能瓶颈与兼容性…

作者头像 李华
网站建设 2026/6/16 1:20:00

金融行业学数据分析的价值

一、数据分析在金融行业的重要性金融行业高度依赖数据驱动决策&#xff0c;从风险管理到投资策略&#xff0c;数据分析能力已成为核心竞争力。掌握数据分析技能可以帮助从业者更精准地预测市场趋势、优化投资组合、识别欺诈行为&#xff0c;并提升运营效率。二、金融数据分析的…

作者头像 李华
网站建设 2026/6/16 1:18:06

终极指南:让Apple触控板在Windows上完美运行的3种简单方法

终极指南&#xff1a;让Apple触控板在Windows上完美运行的3种简单方法 【免费下载链接】mac-precision-touchpad Windows Precision Touchpad Driver Implementation for Apple MacBook / Magic Trackpad 项目地址: https://gitcode.com/gh_mirrors/ma/mac-precision-touchpa…

作者头像 李华
网站建设 2026/6/16 1:17:03

5分钟极速上手:用Open-Lyrics智能生成精准字幕文件

5分钟极速上手&#xff1a;用Open-Lyrics智能生成精准字幕文件 【免费下载链接】openlrc Transcribe and translate voice into LRC file using Whisper and LLMs (GPT, Claude, et,al). 使用whisper和LLM(GPT&#xff0c;Claude等)来转录、翻译你的音频为字幕文件。 项目地址…

作者头像 李华
网站建设 2026/6/16 1:11:01

【TEE从入门到精通及实战】14 远程认证中的“信任链”陷阱:为什么你的Quote验证总是失败?

开篇之前,我先讲个真实故事。去年,我帮一家做金融风控的初创公司排查问题。他们的SGX Enclave已经能正常生成Quote,远程验证平台也部署了,但每次验证都返回“证书链验证失败”。 团队折腾了三天,甚至怀疑是Intel的OCSP服务器抽风。我登录他们的服务器一看,发现代码里只验…

作者头像 李华
网站建设 2026/6/16 1:10:59

Token海啸下的算力链变局:从金山云50%涨价到MaaS的生死棋局

2026年6月12日&#xff0c;金山云官网发布了一则看似不起眼的公告&#xff1a;“因全球AI算力需求攀升&#xff0c;硬件成本上涨&#xff0c;将部分产品价格进行调整。AI算力相关产品服务价格上调约15%-50%&#xff0c;文件存储相关产品服务价格上调约30%-50%。”-这则公告将于…

作者头像 李华