Python библиотека "PDFrw" записывает аннотации, которые остаются невидимыми до нажатия на поле - PullRequest
1 голос
/ 14 января 2020

Я следую инструкциям в этой статье для записи информации в аннотации в документе PDF.

Сценарий в вышеупомянутой статье работает. Однако после выполнения сценария и открытия выходного файла поля остаются невидимыми. При нажатии на аннотацию появляется текст, добавленный из скрипта. Но впоследствии при нажатии в другом месте документа текст из сценария исчезает.

Есть ли какой-либо флаг, который необходимо активировать, чтобы сообщить читателю PDF, что поля заполнены?

An example of the output of the current script


РЕДАКТИРОВАТЬ:

Сценарий, приведенный в статье, вероятно, не совсем правильно.

При чтении первой аннотации неотредактированного 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, у меня возникает та же проблема, что и поле пустой.

1 Ответ

2 голосов
/ 08 февраля 2020

Вам необходимо установить для тега / NeedAppearances значение True.

Проверьте это - https://github.com/pmaupin/pdfrw/issues/84#issuecomment -463493521

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...