Я следую инструкциям в этой статье для записи информации в аннотации в документе 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 + символы, так что я не буду вставлять их здесь).
Может кто-нибудь заметить ошибку скрипта, приведенного в этой статье
EDIT2:
Здесь я нашел частичный ответ.
Изменение кода на:
annotation.update( pdfrw.PdfDict(AP=data_dict[key], V=data_dict[key]) )
Когда я открываю PDF с помощью Adobe Reader в Google chrome, это работает отлично. И если я открываю файл с помощью PDF-XChange, он работает нормально.
ОДНАКО, когда я открываю файл PDF в Adobe Acrobate, установленном на моем компьютере Windows 10, у меня возникает та же проблема, что и поле пустой.