Форматы полей в формах Adobe Acrobat

  • Автор темы Автор темы bsi
  • Дата начала Дата начала
Статус
Закрыто для дальнейших ответов.

bsi

Участник
Топикстартер
Сообщения
60
Реакции
6
Прошу помощи в создании пользовательских форматов в полях форм.
Надо чтобы при вводе текста строчными буквами в поле текст отображался:
- ЗАГЛАВНЫМИ и жирным шрифтом
- каждое слово с Заглавной буквы
Заранее благодарю за помощь.
 
К сожалению в Acrobat Pro доступны только размер кегля, цвет и выбор самого шрифта (appearance в свойствах поля формы).
Если у Вас Акробат ниже 11-й версии, то посмотрите свойства поля формы в Adobe LiveCycle Designer - может там больше настроек. У меня уже везде 11-й, посмотреть не смогу.
 
  • Спасибо
Реакции: bsi
Жирный шрифт можно выбрать в формате поля. А для того, чтобы все слова заглавными делать, придется маленький скриптик писать и вешать его на событие или редактирования или смены фокуса поля. Чтобы по этому событию первая буква в каждом слове заглавной делалась.
 
  • Спасибо
Реакции: bsi
Жирный шрифт можно выбрать в формате поля. А для того, чтобы все слова заглавными делать, придется маленький скриптик писать и вешать его на событие или редактирования или смены фокуса поля. Чтобы по этому событию первая буква в каждом слове заглавной делалась.

Спасибо за подсказку, я так и предполагал в Excel делал, а вот в Acrobat впервые в Java ноль. Если есть возможность примерчик прислать?
 
Сходу пример придумать не могу, поскольку ничего подобного не делал. Однако, если вы найдете и скачаете JavaScript™ for Acrobat® API Reference, то там похожие вещи, IMHO, описываются. В частности, я там явно видел валидацию и приведение к верхнему регистру.
 
  • Спасибо
Реакции: bsi
Properties->Format->Select Format Category-Custom->Custom Format Script
Код:
str = event.target.value;event.value = str.replace(/(^|\s|[\-\,\.])\w/g,function(cWrd){return cWrd.toUpperCase()});

Большое спасибо за участие.
Не сочтите за труд продемонстрировать это в мой форме. В файле описано, что я делаю, но с Acrobat_ом столкнулся впервые, а сделать надо. У меня Acrobat XI.
Еще раз спасибо.
 

Вложения

Не сочтите за труд продемонстрировать это в мой форме.
Конечно, мне не трудно продемонстрировать. Мне только не понятно почему вы забрались во вкладку "Действия/Actions" и принялись настраивать мышку, когда я вам английским
по белому написал зайти во вкладку Format/Формат и что там нужно делать.

Свойства-Формат-Выбрать категорию формата-Произвольный-Вставить скрипт в поле "произвольный формат скрипта". У меня сейчас нет доступа к русскому интерфейсу, поэтому перевод вольно-дословный.

Шрифт, его размер, начертание, цвет настраиваются непосредственно в свойствах поля, закладка Appearance/Оформление.

Все ПРОПИСНЫЕ настраиваются по тому же алгоритму. Необходимая строка выглядит так

Код:
event.change = event.change.toUpperCase();

Попробуйте. Это займет не более минуты на оба варианта. Ну, а, если, вдруг, что — пишите.
 
  • Спасибо
Реакции: bsi
Если что, в понедельник буду в пределах доступности русского XI и уточню как там точно перевели наши горе-локализаторы.
 
  • Спасибо
Реакции: bsi
Конечно, мне не трудно продемонстрировать. Мне только не понятно почему вы забрались во вкладку "Действия/Actions" и принялись настраивать мышку, когда я вам английским
по белому написал зайти во вкладку Format/Формат и что там нужно делать.

Свойства-Формат-Выбрать категорию формата-Произвольный-Вставить скрипт в поле "произвольный формат скрипта". У меня сейчас нет доступа к русскому интерфейсу, поэтому перевод вольно-дословный.

Шрифт, его размер, начертание, цвет настраиваются непосредственно в свойствах поля, закладка Appearance/Оформление.

Все ПРОПИСНЫЕ настраиваются по тому же алгоритму. Необходимая строка выглядит так

Код:
event.change = event.change.toUpperCase();

Попробуйте. Это займет не более минуты на оба варианта. Ну, а, если, вдруг, что — пишите.


Возможно я Вас утомил, но не работает. Со свойствами полей все ясно, а вот с переводом в верхний регистр не получается. Вхожу в Свойства-Формат-Категория форма вбираю (настройка)-сценарий заказного формата- кнопка изменить-окно создание и редактирование JavaScript-вставляю event.change = event.change.toUpperCase();- жму ОК-предварительный просмотр-ввожу текст в поле, перевожу фокус на другое поле и все остается в нижнем регистре.

Смысл кода мне понятен event- класс, change событие после смены фокуса, toUpperCase()-перевод в верхний регистр, но не работает.
 
У вас JavaScript в настройках включен?
 
  • Спасибо
Реакции: bsi
Возможно я Вас утомил, но не работает.
Нет, не утомили. Все делаете правильно.

У вас JavaScript в настройках включен?
Похоже на то.

Акробат-Настройки (Ctrl+K)-слева в колонке выбрать JavaScript-справа вверху включить JavaScript
 
  • Спасибо
Реакции: bsi
Нет, не утомили. Все делаете правильно.


Похоже на то.

Акробат-Настройки (Ctrl+K)-слева в колонке выбрать JavaScript-справа вверху включить JavaScript


Активировать Акробат JavaScript галочка стоит.
Я вчера нашел скрипт вывода сегодняшней даты, вставил в окно скрипта, все работает, а вот с этой проблемой ступор. Всем спасибо. Может когда-нибудь и получится.
 
Активировать Акробат JavaScript галочка стоит.
Первый вариант с прописными первыми буквами как оказалось не работает с кириллицей. Работает вот этот скрипт, только вставить его нужно в том же меню, но в нижнее окошко "Custom Keystroke Script":
Код:
if (event.value!=null && event.value!="") {
event.value = event.value.substr(0,1).toUpperCase() + event.value.substr(1);
}

Второй вариант с ПРОПИСНЫМИ работает корректно, но я по ошибке указал не то место вставки. Его нужно поместить туда же: "Custom Keystroke Script".
 
  • Спасибо
Реакции: bsi
Первый вариант с прописными первыми буквами как оказалось не работает с кириллицей. Работает вот этот скрипт, только вставить его нужно в том же меню, но в нижнее окошко "Custom Keystroke Script":
Код:
if (event.value!=null && event.value!="") {
event.value = event.value.substr(0,1).toUpperCase() + event.value.substr(1);
}

Второй вариант с ПРОПИСНЫМИ работает корректно, но я по ошибке указал не то место вставки. Его нужно поместить туда же: "Custom Keystroke Script".


Работает, но немного не то, ввожу иванов иван иванович, выводит Иванов иван иванович, надо Иванов Иван Иванович, и втрой вариант ввожу иванов иван иванович, должно получиться ИВАНОВ ИВАН ИВАНОВИЧ. Нужен хотя бы Иванов Иван Иванович, в идеале конечно и ИВАНОВ ИВАН ИВАНОВИЧ.
Попутно вопрос. Возможно ли в форме сделать так чтобы ввести в одно поле данные и они автоматом появились еще в нескольких полях этой же формы? Если да, тогда буду искать варианты как это сделать.
Еще раз спасибо за сотрудничество.
 
втрой вариант ввожу иванов иван иванович, должно получиться ИВАНОВ ИВАН ИВАНОВИЧ
Так должно или получается?

Возможно ли в форме сделать так чтобы ввести в одно поле данные и они автоматом появились еще в нескольких полях этой же формы?
Можно. Просто сделайте копию готового поля. Настройки можно менять, главное, чтобы имена полей совпадали.

С остальным уже завтра.
 
  • Спасибо
Реакции: bsi
Мда, проверил сам, к сожалению, даже в локализованной версии акробата метод replace с кириллицей работает анально. Жора, это, кстати, тебе на заметку, как адобовскому багрепортеру. Чтож, попробуем переписать replace сами:
Код:
{
var a="";
var b=event.value;
var f=true;
for (var i=0;i<b.length;i++)
{
var c=b.charAt(i);
if (f)
{
a=a+c.toUpperCase();
} else
{
a=a+c;
}
f=(c==" ");
}
event.value = a;
}
Этот вариант и на кириллице правильно работает. Вариант без replace (все буквы большие) работает и такой:
Код:
event.value=event.value.toUpperCase();
 
  • Спасибо
Реакции: bsi и imma
Мда, проверил сам, к сожалению, даже в локализованной версии акробата метод replace с кириллицей работает анально. Жора, это, кстати, тебе на заметку, как адобовскому багрепортеру. Чтож, попробуем переписать replace сами:

ОГРОМНОЕ спасибо. Напряг я вас наверное? Все работает. Только не понял "главное, чтобы имена полей совпадали." Имена полей должны же быть уникальные или я что-то не так уразумел?
 
Только не понял "главное, чтобы имена полей совпадали." Имена полей должны же быть уникальные или я что-то не так уразумел?
Это если вы хотите несколько одинаковых полей сделать.
 
  • Спасибо
Реакции: bsi
Статус
Закрыто для дальнейших ответов.