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
相关产品推荐
相关产品推荐

