首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Python中使用fdfgen复选PDF中的复选框

如何在Python中使用fdfgen复选PDF中的复选框
EN

Stack Overflow用户
提问于 2016-03-22 03:56:51
回答 1查看 1.3K关注 0票数 1

我正在做一个Python3.4项目,它使用fdfgen和pdftk来填写pdf。我可以很容易地填写文本字段。我搞不懂的是怎么勾选一个方框。

下面是我的python脚本的一部分:

代码语言:javascript
复制
        fields = generate_vs300_field_list(answers_dict) # Returns list of tuples of fields and text to be added to pdf
        fdf = forge_fdf("", fields, [], [], [])
        logging.debug('Called forge_fdf function. About to open fdf_file.')
        fdf_file = open(os.path.join(destination_dir, 'vs300.fdf'), 'wb')
        logging.debug('Opened fdf_file. About to write to it.')
        fdf_file.write(fdf)
        fdf_file.close()
        logging.debug('Wrote to fdf_file and closed it.')
        cmd = 'pdftk "{0}" fill_form "{1}" output "{2}" dont_ask'.format(
            './styles/vs300.pdf',
            os.path.join(destination_dir, 'vs300.fdf'),
            os.path.join(destination_dir, 'vs300.pdf')
        )
        logging.debug('About to send this command to pdftk: ' + cmd)
        os.system(cmd)
        logging.debug('Command sent. Removing temporary fdf file.')
        os.remove(os.path.join(destination_dir, 'vs300.fdf'))

我可以成功地创建一个要提供给forge_fdf的元组列表,元组中的第一项是字段名称,第二项是要添加的字段的文本。

我不知道该怎么做的是勾选一个方框。如果我在我的pdf上运行pdftk dump_data_fields,下面是我要检查的复选框的条目:

代码语言:javascript
复制
FieldType: Button
FieldName: Absolute Divorce
FieldNameAlt: Absolute Divorce
FieldFlags: 0
FieldJustification: Left
FieldStateOption: Off
FieldStateOption: On

我不知道如何a)更改fdf文件以使复选框显示为已选中,以及b)如何使用fdfgen实际执行此更改。

EN

回答 1

Stack Overflow用户

发布于 2016-07-29 00:28:03

复选框字段通过fdf_data_strings而不是fdfgen通过fdf_data_names变量。您还应该检查PDF本身,以查看复选框用于其"on“触发器。

然后,您调用forge_fdf将如下所示:

代码语言:javascript
复制
forge_fdf("", fields, data_names)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36140392

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档