python中复选框取消修改_如何使用Python(最好是PyPDF2)在PDF中选中/取消选中复选框?...

我遇到了同样的问题,找了好几个地方,很失望我找不到答案。在看了我的代码、pyPDF2代码和adobef1.7规范之后,我终于弄明白了。如果调试到updatePageFormFieldValues,您将看到它只使用TextStringObjects。复选框不是文本字段,甚至/V值也不是文本字段,这至少在我看来是违反直觉的。对该函数的调试表明,复选框是NameObjects,因此我创建了自己的函数来处理它们。我创建了两个dict:一个只包含传递给内置updatePageFormFieldValues函数的文本值,另一个只有checkbox值。我还设置了/AS以确保可见性(参见PDF规范)。我的功能如下:def updateCheckboxValues(page, fields):

for j in range(0, len(page['/Annots'])):

writer_annot = page['/Annots'][j].getObject()

for field in fields:

if writer_annot.get('/T') == field:

writer_annot.update({

NameObject("/V"): NameObject(fields[field]),

NameObject("/AS"): NameObject(fields[field])

})

但是,据我所知,使用/1、/On还是/Yes取决于表单是如何定义的,或者PDF阅读器需要什么。对我来说,/1有效。在

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值