2015-06-25 2 views
1

я использую Adobe XI Standard и имеют документ в формате PDF с текстовым полем «Сегодня» со скриптом Mouse Up Java изAuto Дата высчитывает сегодняшнюю, когда документ открывается и добавить дней к дате в другом поле

var f = this.getField("Today"); 
f.value = util.printd("mmm/d/yyyy", new Date()); 

Проблема 1) Я хочу, чтобы это автоматически обновлялось, когда документ открывается, а не когда мышь входит в него, но я не знаю, как и где разместить сценарий в нужном месте.

У меня есть текстовое поле с надписью «text11» отформатированный быть даты мм/дд/гггг

У меня есть другое текстовое поле с надписью «21stDay», который я хочу, чтобы вычислить 21 дней с даты в «text11 "Поле.

Проблема 2) Мне не удалось получить скрипт для работы. Может кто-нибудь, пожалуйста, скажите мне, как сделать эту работу должным образом и где точно разместить сценарии, поскольку я просто начинающий при этом. Спасибо заранее!

ответ

1

Я считаю, что есть два возможных способа сделать это:

  1. запись OpenAction в корневой каталог с словаря действий S (UB) типа JavaScript
  2. Названы JavaScripts, кажется, выполняются при документ сначала открывается в Acrobat.

Для fomer см. Таблицу 3.25 в разделе 3.6.1 и разделе 8.5 в PDF v1.7 Ссылка и раздел 3.6.3 для последнего.

0

Первое, что вы можете сделать с помощью сценария на уровне документа, содержащего только что одну строку:

this.getField("Today").value = util.printd("mmm/d/yyyy", new Date()) ; 

Если вы столкнулись с вопросов о сроках (имеется в виду, что поле не становится надежно заполнена, используйте событие PageOpen из . страница, на которой открывается документ Это гарантирует, что скрипт запускается только тогда, когда документ правильно загружен

что касается второго вопроса, то это должно работать (не я не проверял код):.

var now = new Date() ; 
var then = new Date() ; 
then.setDate(now.getDate+21) ; 
this.getField("text11").value = util.printd("mm/dd/yyyy", then) ; 

Обратите внимание, что объект Date достаточно умен, чтобы правильно преобразовать номер даты, превышающий дату конца месяца.

+0

Я очень благодарен за помощь! У меня есть еще два вопроса, где я могу найти местоположение для открытой страницы и будет ли она работать, если форма защищена только заполнением полей формы? – CreekTM

+0

Я добавил второй скрипт, но он не будет обрабатываться. Я получил текстовую ошибку null. Также мне нужно 21 день для запуска после ввода даты поля text11 – CreekTM

+0

Ошибка «имя поля является пустой» означает, что поле с этим именем не существует или недоступно (когда вы запускаете код как сценарий на уровне документа) , –