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

PyMuPDF能否获取ComboBox组件的显示值?

提取PDF ComboBox的显示值
  • PyMuPDF(即fitz库)中,ComboBox组件的导出值-显示值映射关系存储在widget.field_options属性里,该属性返回一个字典:键是导出值,对应的值就是你需要的显示值。
  • 可以通过当前获取到的widget.field_value(导出值),在这个字典中查找对应的显示值。

修改后的代码示例:

# Extract data from combobox
import fitz
fileIN_Master = "Mypdf.pdf"     
with fitz.open(fileIN_Master) as doc:
    for page in doc: 
        widgets = page.widgets()
        for widget in widgets:
            if widget.field_type_string == 'ComboBox':
                field_name = widget.field_name
                export_value = widget.field_value
                # 通过导出值映射获取显示值,找不到则返回导出值兜底
                display_value = widget.field_options.get(export_value, export_value)
                print('field_name:', field_name, 'export_value:', export_value, 'display_value:', display_value)
  • 补充说明:如果ComboBox的选项是「显示文本A对应导出值valA、显示文本B对应导出值valB」,那么widget.field_options的结构就是{"valA": "显示文本A", "valB": "显示文本B"},直接通过导出值键就能拿到对应的显示文本。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.10 03:01:48