После проверки вашего документа PDF в отладчике Adobe DC JavaScript, я боюсь, что существует только целая куча синтаксических ошибок. Когда вы исправляете один набор синтаксических ошибок, появляется целый новый набор синтаксических ошибок. Из того, что я могу сказать (кто-то может надеяться подтвердить это), заключается в том, что интерпретаторы JavaScript в более старых версиях Adobe менее строги относительно того, как они интерпретируют язык, поэтому ваши формы работают в более старых версиях, но их останавливают последние переводчики в Acrobat DC.
Когда я проверяю JavaScript, который бросает ошибки, я не только замечаю, что Adrobat DC действительно хочет, чтобы вы завершаете свои JavaScript-инструкции точками с запятой (что иногда делает ваш код), но я также нахожу очень странные конструкции, некоторые из которых заставили бы меня поверить, что даже если ваши формы технически не выдают никаких ошибок в более старых версиях Acrobat, вы можете обнаружить, что формы в действительности не работают должным образом в более старых версиях.
Таким образом, чтобы исправить эти ошибки и получить ваши формы в Adobe Acrobat DC, вам придется очистить все возникающие ошибки, что означает перенос (обновление) вашего стиля кодирования в соответствии с новым уровнем строгость во время работы Acrobat DC.
Например, когда я в первый раз открыть форму, используя отладчик JavaScript в Acrobat DC, я получаю следующие ошибки в списке:
SyntaxError: missing ; before statement
121:Document-Level:CreditCalcException in line 5 of function top_level, script Page-Actions:Page1:Page Open:Action4
ReferenceError: Loaded is not defined
5:Page-Actions:Page1:Page Open:Action4Exception in line 2 of function top_level, script AcroForm:LoadCountyLock:Annot1:OnBlur:Action1
ReferenceError: FormNumber is not defined
2:AcroForm:LoadCountyLock:Annot1:OnBlur:Action1Exception in line 10 of function top_level, script AcroForm:ButtonMonth1.3.0:Annot1:MouseUp:Action2
ReferenceError: MonthsNumber is not defined
10:AcroForm:ButtonMonth1.3.0:Annot1:MouseUp:Action2Exception in line 10 of function top_level, script AcroForm:ButtonMonth1.0.0:Annot1:MouseUp:Action2
Exception in line 10 of function top_level, script AcroForm:ButtonMonth1.1.0:Annot1:MouseUp:Action2
ReferenceError: MonthsNumber is not defined
10:AcroForm:ButtonMonth1.0.0:Annot1:MouseUp:Action2
SyntaxError: missing ; before statement
121:Document-Level:CreditCalc
SyntaxError: missing ; before statement
121:
SyntaxError: missing ; before statement
121:
SyntaxError: missing ; before statement
121:
SyntaxError: missing ; before statement
121:
SyntaxError: missing ; before statement
121:
SyntaxError: missing ; before statement
121:
SyntaxError: missing ; before statement
121:
SyntaxError: missing ; before statement
121:
SyntaxError: missing ; before statement
121:
SyntaxError: missing ; before statement
121:
SyntaxError: missing ; before statement
121:
SyntaxError: missing ; before statement
121:
SyntaxError: missing ; before statement
121:
SyntaxError: missing ; before statement
121:
SyntaxError: missing ; before statement
121:
SyntaxError: missing ; before statement
121:
SyntaxError: class is a reserved identifier
56:Document-Level:SVCFees
SyntaxError: class is a reserved identifier
56:Document-Level:SVCFees
SyntaxError: class is a reserved identifier
77:AcroForm:DynolistHS:Annot1:MouseUp:Action2
SyntaxError: class is a reserved identifier
56:Document-Level:SVCFees
SyntaxError: class is a reserved identifier
56:Document-Level:SVCFees
SyntaxError: class is a reserved identifier
56:Document-Level:SVCFees
SyntaxError: class is a reserved identifier
56:Document-Level:SVCFees
SyntaxError: class is a reserved identifier
56:Document-Level:SVCFees
SyntaxError: class is a reserved identifier
56:Document-Level:SVCFees
SyntaxError: class is a reserved identifier
56:Document-Level:SVCFees
SyntaxError: class is a reserved identifier
56:Document-Level:SVCFees
SyntaxError: class is a reserved identifier
56:Document-Level:SVCFees
SyntaxError: class is a reserved identifier
56:Document-Level:SVCFees
SyntaxError: class is a reserved identifier
56:Document-Level:SVCFees
SyntaxError: class is a reserved identifier
56:Document-Level:SVCFees
SyntaxError: class is a reserved identifier
56:Document-Level:SVCFees
SyntaxError: class is a reserved identifier
56:Document-Level:SVCFees
SyntaxError: class is a reserved identifier
56:Document-Level:SVCFees
SyntaxError: class is a reserved identifier
56:Document-Level:SVCFees
SyntaxError: class is a reserved identifier
56:Document-Level:SVCFees
SyntaxError: class is a reserved identifier
56:Document-Level:SVCFees
SyntaxError: class is a reserved identifier
56:Document-Level:SVCFees
SyntaxError: class is a reserved identifier
56:Document-Level:SVCFees
SyntaxError: class is a reserved identifier
56:Document-Level:SVCFees
SyntaxError: class is a reserved identifier
56:
SyntaxError: class is a reserved identifier
56:
SyntaxError: class is a reserved identifier
56:
SyntaxError: class is a reserved identifier
56:
SyntaxError: class is a reserved identifier
56:Document-Level:SVCFees
SyntaxError: missing ; before statement
121:
SyntaxError: class is a reserved identifier
56:Document-Level:SVCFees
SyntaxError: class is a reserved identifier
56:Document-Level:SVCFees
SyntaxError: class is a reserved identifier
138:AcroForm:DynolistVehicle:Annot1:MouseUp:Action1
Обратите внимание, как у вас есть все эти ошибки, как:
SyntaxError: class is a reserved identifier
SyntaxError: missing ; before statement
Это хорошие индикаторы, что новый интерпретатор JavaScript в DC держит JS на более высоком уровне и использует более новый язык fea как и ключевое слово class
, и наложение соглашения о том, что точки с запятой должны использоваться для завершения операторов.
Когда вы продолжаете щелкать по PDF-файлу, отладчик JavaScript начинает жаловаться на еще большее количество ошибок одинаково (отсутствующие точки с запятой, функции, которые не определены и т. Д.), Поэтому исправление одной проблемы показывает только отверстие другого кролика, но идентичные проблемы.
Таким образом, я бы сказал, что самый быстрый путь к обновлению этой формы и готов к последней версии DC - это пройти через ваши скрипты и применить некоторые соглашения или листинг, чтобы начать очистку синтаксиса (завершение всех операторов точкой с запятой, и т.д). После того как вы очистили синтаксис, интерпретатор JavaScript, скорее всего, начнет находить объявления функций, которые он не смог найти раньше (из-за того, что он рассматривал недействительный синтаксис), что (надеюсь) очистит «функцию, не определенную» "ошибки.
Кроме того, я бы просто сделать некоторые общие испытания, что ваши формы работы, как вы собираетесь, потому что я вижу странный JavaScript, как этот образец взят из CreditCalc
функции:
Обратите внимание, что разрыв между линии 123
и 125
? Это странно выглядящий JavaScript для моих глаз, и из того, что я вижу, код, который сидит в этом «плавающем» объекте в строке 125, никогда не ударит, он просто существует, но никогда не будет служить цели, это должно быть страшно для вас.
Странные конструкции, подобные плавающим по всем вашим скриптам, наряду с другими ошибками, которые могут потенциально привести к неожиданным поведением, например, с использованием != 0
вместо !== 0
.
Так что я боюсь, что здесь нет простого ответа, вам, вероятно, придется сделать много очистки до того, как Acrobat DC позволит вам запустить эту форму.
Без рабочей ссылки на ваш pdf это чистое догадки. – mkl
Часто люди используют общедоступные диски Google или Dropbox. – mkl
Ваш документ зашифрован. Пожалуйста, поделитесь паролем. – mkl