我正在按照本文中的说明将信息写入 PDF 文档中的注释。
上述文章中的脚本确实有效。但是,在执行脚本并打开输出文件后,这些字段仍然不可见。单击注释时,将显示从脚本添加的文本。但随后单击文档中的其他位置时,脚本中的文本消失了。
是否需要触发某种标志,以通知 PDF 阅读器字段已被填写?
编辑:
文章中给出的脚本可能并不正确。
阅读未编辑 PDF的第一个注释时,我得到以下信息:
{'/T': '(business_name_1)', '/AA': {'/F': (113, 0)}, '/MK': {}, '/F': '4', '/Rect': ['77.433', '639.425', '538.174', '663.305'], '/Type': '/Annot', '/FT': '/Tx', '/AP': {'/N': (12, 0)}, '/DA': '(/Helv 0 Tf 1 1 1 rg)', '/Subtype': '/Widget', '/TU': '([Business Name])', '/Q': '1', '/P': (11, 0)}
当使用 PDF 阅读器手动填写字段并保存,然后读取该 PDF 文件时,'/V':
属性会添加到前面的代码中,即第一个注释是以下代码:
{'/V': '(Bostata)', '/T': '(business_name_1)', '/AA': {'/F': (113, 0)}, '/MK': {}, '/F': '4', '/Rect': ['77.433', '639.425', '538.174', '663.305'], '/Type': '/Annot', '/FT': '/Tx', '/AP': {'/N': (12, 0)}, '/DA': '(/Helv 0 Tf 1 1 1 rg)', '/Subtype': '/Widget', '/TU': '([Business Name])', '/Q': '1', '/P': (11, 0)}
但是,在脚本将值添加到注释后,也会添加大量数据(10k+ 字符,所以我不会在这里粘贴)。
有人可以发现本文中给出的脚本的错误吗
编辑2:
将代码更改为:
annotation.update( pdfrw.PdfDict(AP=data_dict[key], V=data_dict[key]) )
当我在谷歌浏览器中使用 Adobe 阅读器打开 pdf 时,它工作正常。如果我用 PDF-XChange 打开文件,它工作正常。
但是,当我在 Windows 10 机器上安装的 Adobe acrobate 中打开 PDF 文件时,我遇到了同样的问题,即该字段为空。