You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何让pdfplumber将页面右垂直边缘识别为表格竖线?

解决pdfplumber识别裁剪后PDF表格右侧竖线的问题

当PDF右边缘被裁剪导致表格最右侧竖线丢失时,可以通过手动指定页面右边缘为表格竖线的方式让pdfplumber正确识别表格,具体配置如下:

  • 先获取目标页面的宽度(即右边缘的横坐标)
  • 在table_settings中通过explicit_vertical_lines参数将页面宽度添加为竖线位置
  • 配合调整snap_tolerance参数,让单元格边缘可以轻微偏移时也能对齐到这条手动添加的竖线

示例代码:

import pdfplumber

with pdfplumber.open("被裁剪的文件.pdf") as pdf:
    # 遍历所有页面(这里以第一页为例,可根据需求调整)
    for page in pdf.pages:
        # 获取页面右边缘的横坐标
        right_edge = page.width
        # 配置表格识别参数
        table_config = {
            "explicit_vertical_lines": [right_edge],
            "snap_tolerance": 3,  # 根据实际裁剪情况调整,单位为像素
            # 结合自动识别的竖线和手动添加的边缘线
            "vertical_strategy": "lines+explicit",
            "horizontal_strategy": "lines"
        }
        # 提取表格
        extracted_table = page.extract_table(table_settings=table_config)
        # 输出或处理表格数据
        if extracted_table:
            for row in extracted_table:
                print(row)

参数说明:

  • explicit_vertical_lines:手动指定表格竖线的横坐标列表,这里传入页面宽度值,强制让pdfplumber将页面右边缘视为表格竖线
  • snap_tolerance:控制单元格边缘与竖线的允许偏移量,数值越大,对边缘对齐的容错度越高
  • vertical_strategy: 设置为lines+explicit时,pdfplumber会同时使用自动识别的竖线和手动添加的竖线,适合还有其他完整竖线的表格;如果只有右侧边缘缺失,也可设为explicit仅使用手动指定的竖线

内容的提问来源于stack exchange,提问作者banderlog013

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.16 09:04:57