Вы разрабатываете PDF-форму для приема клиентов. Если клиент выбирает "Индивидуальный" В качестве типа учетной записи в форме должны отображаться поля для имени и номера социального страхования. Если они выберут "Бизнес" Вместо этого в форме должны отображаться поля для названия компании и идентификационного номера работодателя. В бумажном виде распечатайте оба раздела и напишите «Если применимо». рядом с каждым. В цифровом PDF-файле условная логика может полностью скрыть нерелевантный раздел, показывая пользователю только те поля, которые ему действительно необходимо заполнить.
Условная логика в формах PDF реальна и функциональна, но имеет важные оговорки. В отличие от веб-форм, где JavaScript и CSS обеспечивают гибкий контроль над видимостью и макетом, условная логика PDF ограничена ограниченной реализацией JavaScript в формате PDF и непоследовательным способом выполнения сценариев различными средствами просмотра PDF. Понимание того, что возможно, а что нет, не позволяет вам разработать форму, которая работает в вашей среде тестирования, но не работает для половины ваших получателей.

Что на самом деле может делать условная логика в форме PDF
Условная логика PDF работает на Acrobat JavaScript, упрощенной версии JavaScript, которая является частью спецификации PDF с начала 2000-х годов. Он может отображать или скрывать поля формы на основе пользовательского ввода. Он может включать или отключать поля, изменять их цвет или рамку, отмечать их как обязательные или необязательные и заполнять их значения из справочных таблиц. Он может проверять вводимые пользователем данные, отображать предупреждающие сообщения и запускать вычисления при выполнении определенных условий.
Чего он не может сделать, так это реструктурировать макет страницы. Скрытие поля убирает его из поля зрения, но занимаемое им пространство остается. Поля ниже не сдвигаются вверх, чтобы заполнить пробел. Страница не переформатируется. Это самое большое различие между PDF Forms и веб-формой, и оно является источником наибольшего разочарования, когда кто-то пытается воспроизвести работу веб-формы внутри PDF-файла. Если ваша условная логика требует кардинального изменения макета страницы, PDF-файл — неправильный инструмент. Если необходимо отобразить или скрыть несколько полей в фиксированном макете, условная логика PDF хорошо справляется с этой задачей.
Попробуйте редактировать PDF
Никакой установки не требуется. Работает прямо в вашем браузере.
Как настроить правило отображения-скрытия на основе раскрывающегося списка или выбора флажка
Наиболее распространенным условным шаблоном является раскрывающийся список или набор переключателей, которые управляют видимостью последующих полей. В редакторе форм WukongPDF начните с создания управляющего поля, раскрывающегося списка или группы переключателей, значение которых определяет, что произойдет дальше. Дайте ему понятное имя, например «accountType». Затем создайте все поля, которые могут быть показаны или скрыты. Все возможные поля должны присутствовать в форме с самого начала. Условная логика контролирует только видимость. Он не создает и не уничтожает поля.
После создания полей откройте свойства управляющего поля и найдите вкладку «Проверка» или «При размытии». Здесь вы пишете JavaScript, который реагирует на выбор пользователя. Простой сценарий показа-скрытия выглядит следующим образом: var choice = event.target.value; this.getField("ssnField").display = (выбор === "Индивидуальный") ? display.visible: display.hidden; this.getField("einField").display = (выбор === "Бизнес") ? display.visible: display.hidden; Когда пользователь изменяет раскрывающийся список, запускается сценарий, проверяет выбранное значение и устанавливает свойство отображения каждого поля как видимое или скрытое.
Важная деталь: установите исходное состояние всех условных полей так, чтобы оно соответствовало значению по умолчанию управляющего поля. Если в раскрывающемся списке по умолчанию установлено значение «Индивидуальный», поле SSN должно стать видимым, а поле EIN должно стать скрытым. Если поля начинаются с неправильного состояния, пользователь не видит ни того, ни другого, пока не вступит в первый раз с раскрывающимся списком, который выглядит неработающим. Начальное состояние и логика сценария должны согласовываться.
Правила проверки, которые проверяют введенные данные перед тем, как пользователь перейдет
Условная логика выходит за рамки видимости и обеспечивает проверку входных данных. Поле даты позволяет проверить, попадает ли введенная дата в допустимый диапазон. Поле электронной почты может проверить, содержит ли ввод знак @ и домен. Поле номера телефона может содержать ровно десять цифр. Скрипты проверки выполняются в событии Validate поля, которое срабатывает, когда пользователь пытается покинуть поле. Если сценарий вызывает event.rc = false, фокус остается на поле, и пользователь не может продолжить, пока ввод не будет исправлен.
Практическая проверка телефона выглядит следующим образом: var phone = event.value.replace(/\s|-|\(|\)/g, ''); if (phone !== "" && !/^\d{10}$/.test(phone)) { app.alert("Пожалуйста, введите 10-значный номер телефона."); событие.rc = ложь; } Этот сценарий удаляет пробелы, тире и круглые скобки, а затем проверяет, содержат ли оставшиеся символы ровно десять цифр. Если поле пусто, проверка проходит, поскольку не каждое поле телефона является обязательным. Если в поле есть содержимое, но оно не состоит из десяти цифр, сценарий отображает предупреждающее сообщение и не позволяет пользователю покинуть поле.
Правила проверки следует использовать экономно и с четкими сообщениями об ошибках. Форма, которая блокирует пользователя в каждом поле с загадочными предупреждениями, вызывает разочарование. Форма, которая проверяет только те поля, неправильный ввод которых может вызвать реальные проблемы, и объясняет, что пользователю необходимо исправить, создает уверенность. В тексте предупреждения должно быть точно указано, что не так и как это исправить. «Неверный ввод»; бесполезно. «Номер телефона должен состоять из 10 цифр без пробелов и тире». сообщает пользователю, что делать.
Проблема совместимости средства просмотра и способы ее решения
PDF JavaScript поддерживается в Adobe Acrobat Reader, Acrobat Pro и большинстве настольных PDF-приложений. Он не поддерживается в большинстве браузерных программ просмотра PDF-файлов, включая встроенную программу просмотра Chrome, PDF.js Firefox и предварительный просмотр Safari. Он частично поддерживается в некоторых мобильных PDF-приложениях и полностью отсутствует в других. Если ваша форма опирается на условную логику и сценарии проверки, а получатель открывает ее в средстве просмотра, не выполняющем JavaScript, он увидит все поля, включая те, которые должны быть скрыты, и ни одно из правил проверки не сработает.
Идеального технического решения здесь не существует. Лучший подход – это сочетание четкой маркировки и заметной инструкции в верхней части формы. Пометьте условные разделы, указав их условие срабатывания: «Если вы выбрали «Бизнес» выше, заполните этот раздел». Таким образом, даже если сценарий завершится неудачно, пользователь сможет заполнить форму вручную. Interactive PDF изящно превращается в удобную статическую форму, а не становится непонятной.
Тестирование условных форм в нескольких программах просмотра
Прежде чем распространять условную форму PDF, протестируйте ее как минимум в четырех средах: Adobe Acrobat Reader на настольном компьютере, встроенной программе просмотра PDF-файлов Chrome, программе просмотра PDF-файлов Safari или Preview на Mac и мобильной программе просмотра PDF-файлов на iPhone и Android. В каждой среде систематически прорабатывайте форму. Измените параметры раскрывающегося списка и убедитесь, что правильные поля появляются и исчезают. Введите неверные данные и подтвердите, что появятся сообщения о проверке и предотвратят отправку. Сохраните форму и снова откройте ее, чтобы проверить согласованность сохраненного состояния.
Для форм, предназначенных для известной аудитории, таких как внутренние формы компании или формы, отправленные через определенный портал, тестируйте только те средства просмотра, которые действительно использует ваша аудитория. Если все в вашей организации используют Adobe Acrobat, совместимость браузера не имеет значения. Если ваша форма будет размещена на общедоступном веб-сайте и открыта любым пользователем любого устройства, предположим, что значительный процент пользователей увидит форму без JavaScript. Спроектируйте форму так, чтобы она приемлемо функционировала в этом ухудшенном состоянии, со всеми видимыми полями и понятными инструкциями, и пусть условная логика будет скорее улучшением, чем требованием.
Когда условная логика принадлежит веб-форме
Если вашей форме нужны многоэтапные мастера, динамическое создание полей, проверка сервера в реальном времени или перекомпоновка страницы при появлении и исчезновении полей, подходящим инструментом будет веб-форма, а не PDF-файл. PDF-формы — это статические документы с интерактивными улучшениями. Веб-формы — это интерактивные приложения с выводом, похожим на документ. Это различие важно, потому что создание сложной условной формы в PDF только для того, чтобы обнаружить, что половина вашей аудитории не может использовать ее по назначению, является разочаровывающей и отнимающей много времени ошибкой.
Практический гибридный подход заключается в использовании веб-формы для сбора данных и условной логики и создании PDF-файла на основе отправленных данных для подписей, архивирования и совместного использования. PDF Editor WukongPDF хорошо работает в этом рабочем процессе: собирает данные через веб-форму, заполняет шаблон PDF ответами и доставляет отшлифованный PDF-файл пользователю для его учета. Веб-форма обрабатывает логику. PDF обрабатывает презентацию. Каждый инструмент делает то, что он делает лучше всего.
Попробуйте редактировать PDF
Никакой установки не требуется. Работает прямо в вашем браузере.
