Подтвердить что ты не робот

JavaScript работает в Acrobat, но не Reader

Я создал форму в Acrobat, которая включает кнопку отправки. Когда пользователь нажимает на него, я хочу, чтобы определенные поля были экспортированы в виде текста с разделителями табуляции. В Acrobat, когда кнопка нажата, открывается окно, позволяющее мне выбрать папку для экспорта и экспортировать данные. В читателе ничего не происходит. Отладчик дает мне эту ошибку:

RangeError: Invalid argument value.
Doc.exportAsText:2:Field Submit:Mouse Up

Я посмотрел и не могу найти информацию об этой ошибке. Моим оригинальным script является следующее:

var aSubmitFields = new Array ( "Name", "Address")
this.exportAsText ({aFields: aSubmitFields})

Как вы видите, это очень просто. Я не понимаю, почему это не сработает.

EDIT: после удаления "a" из ({ aFields Я получаю ошибку:

NotAllowedError: Security settings prevent access to this property or method.
Doc.exportAsText:2:Field Submit:Mouse Up
4b9b3361

Ответ 1

Для этого в Acrobat Reader первый пользователь откроет инструменты > настройки, там пользователь увидит настройки безопасности. Здесь сначала нужно разрешить active contents до run

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

Новые версии с установленным HotFix не позволят JavaScript, каждый раз, когда исправляется исправление безопасности, он отключает опцию JavaScript/Active Content.

Надеюсь, это даст вам некоторое представление о решении.

Ответ 2

Чтобы иметь возможность вызывать exportAsText() в Adobe Reader, вам необходимо иметь права на "Расширенные возможности форм" в документе. Вы можете увидеть его в документации стр. 32 и 251. Если у вас нет этого права на документе, вы вызываете код JavaScript, вы получите "Безопасность настройки запрещают доступ к этому свойству или методу". ошибка.

Эти права могут быть установлены, когда документ создан в Adobe Acrobat.

И активный контент должен быть разрешен в читателе, как уже говорит вам MarmiK.