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

如何用Python提取PDF表单中的复选框选中状态?

提取PDF表单复选框数据的最佳方法

PyMuPDF(又称fitz)是处理这类问题的更优选择,它对PDF交互式表单的控件(包括复选框)支持更完善,能直接识别并提取复选框的选中状态。

步骤1:安装PyMuPDF

pip install pymupdf

步骤2:编写提取代码

import fitz

# 打开目标PDF文件
doc = fitz.open("Standard Application.pdf")

# 遍历PDF的所有页面(若表单仅在特定页面,可直接指定页码如doc[0])
for page_num in range(len(doc)):
    page = doc[page_num]
    # 获取当前页面的所有表单控件
    widgets = page.widgets()
    for widget in widgets:
        # 筛选出复选框类型的控件
        if widget.field_type == fitz.PDF_WIDGET_TYPE_CHECKBOX:
            # 提取复选框名称与选中状态(1为选中,0为未选中)
            checkbox_name = widget.field_name
            is_selected = widget.field_value
            print(f"页面{page_num+1} - 复选框「{checkbox_name}」: {'已选中' if is_selected else '未选中'}")

# 关闭文档
doc.close()

代码说明

  • widget.field_type用于判断控件类型,fitz.PDF_WIDGET_TYPE_CHECKBOX对应复选框
  • widget.field_value返回1表示复选框被选中,0表示未选中
  • widget.field_name对应PDF表单中复选框的命名,可对应到表单的具体选项

相比PyPDF2和pdfminer,PyMuPDF对交互式表单的解析能力更强,能覆盖更多类型的表单控件,适配大多数带复选框的PDF表单场景。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 14:55:22