Гу И
PDF-формы - один из видов электронных форм, отличающийся от форм Lotus Forms. Они могут представлять собой как статические двоичные файлы без интерактивных полей, так и динамические формы со встроенным XML на основе архитектуры XML Forms Architecture (XFA). Плагин Lotus Forms Conversion Tool 3.0 для Lotus Forms Designer позволяет автоматически преобразовывать PDF-формы в Lotus Forms 3.0. Он поддерживает как статические PDF-файлы, так и динамические XFA-формы. Он также включает в себя ряд специализированных правил и оптимизаторов, которые можно применить в процессе преобразования. После автоматического преобразования преобразованные формы нужно вручную корректировать в части макета представления, экземпляров XForms и бизнес-логики.
В этой статье дается краткое введение в проект миграции с PDF-форм на формы Lotus Forms с подробным описанием инструментария преобразования Lotus Forms 3.0. Также приводится подробный перечень действий и требований, что очень важно для определения объемов и стоимости проекта. Вы должны быть знакомы с продуктом IBM Lotus Forms. Пользователи IBM Lotus Forms приглашаются изучать опыт и делиться опытом проектирования сервисов форм.
Введение в PDF-формы
PDF (аббревиатура от Portable Document Format) - это формат файла, разработанный Adobe Systems, Inc. В PDF форматируется информация множества настольных издательских приложений, что позволяет передавать отформатированные документы и выводить их на монитор пользователя или на печать, если это необходимо. Для просмотра PDF-файлов необходима программа Adobe Reader, а для создания и редактирования - программы Adobe Acrobat Professional или Adobe Acrobat Designer.
PDF-формы можно разделить на два вида: статические PDF-формы и интерактивные PDF-формы. Статическая PDF-форма - это традиционный PDF-документ без каких-либо интерактивных элементов. Такая форма состоит из статических элементов, таких как текст, точки, линии и рисунки. Файл хранится в двоичном формате.
Другой вид PDF-формы - это интерактивная PDF-форма. Спецификация PDF описывает два вида интерактивных форм:
- AcroForm. Эта форма, введенная спецификацией PDF Specification 1.2, представляет собой набор полей для сбора информации от пользователя в интерактивном режиме. Содержание и свойства интерактивной формы определяются в словаре интерактивной формы, на который ссылается элемент AcroForm в каталоге документа в PDF-файле.
- XML Forms Architecture (XFA). XFA предоставляет основанную на шаблонах грамматику и набор правил обработки, которые позволяют пользователям создавать интерактивные формы. Основанная на шаблонах грамматика определяет поля, в которых пользователь предоставляет данные. Открытая природа XFA обеспечивает стандартную XML-грамматику для описания интерактивных форм, являющуюся единым базисом для взаимодействий между приложениями обработки форм. Благодаря своей открытости архитектура XFA применима в самых различных областях. XFA-формы предоставляют широкий спектр возможностей:
- Автоматизация документооборота. Этот вид форм охватывает представление данных, сбор данных и редактирование данных. XFA выступает в качестве клиентского приложения для отправки данных на сервер; ее также можно использовать для печати.
- Динамические взаимодействия. Динамические функциональные возможности варьируются от интерактивных, редактируемых человеком форм с динамическими вычислениями, проверками и прочими событиями до генерируемых сервером машинных форм.
- Динамический макет. Формы могут автоматически трансформироваться для приема данных, предоставленных пользователем или внешним источником данных, таким как сервер баз данных. Например, если данные, полученные с сервера, содержат 100 строк, форма отобразит 100 строк.
- Поддержка сложных документов. Эта функциональная возможность охватывает одностраничные статические формы, целые сборки динамических документов, основанные на содержании данных, и огромные производственные циклы с сотнями тысяч транзакций.
XFA-форма является более продвинутым видом интерактивной формы, чем AcroForm, по следующим причинам:
- XFA-формы можно использовать в основанных на XML процессах.
- В XFA-форме данные и XFA-шаблон разделены, что обеспечивает большую гибкость структуры поддерживаемых данных и позволяет хранить данные отдельно от формы.
- XFA позволяет задавать динамически расширяемые формы.
- XFA позволяет определять web-взаимодействия, такие как HTTP и Web Services Description Language (WSDL). Такие взаимодействия можно использовать для передачи на сервер данных или запросов на выполнение вычислений и возвращение результатов.
- XFA может работать с другими XML-грамматиками.
С учетом сказанного можно сделать вывод, что XFA по своей природе очень похожа на Lotus Forms. В таблице 1 приведено детальное сравнение.
Таблица 1. Сравнение Lotus Forms и XFA
Функциональная возможность |
Lotus Forms |
XFA |
Элементы |
Элементы и параметры Extensible Forms Description Language (XFDL), а также элементы и параметры XForms |
Элементы и параметры XFA |
Динамичность |
Повторение XForms |
Субформа (подчиненная форма) и набор субформ |
Проверка правильности |
Проверка на null, проверка типа данных, шаблона данных и регулярного выражения |
Проверка на null, проверка типа данных, формата и сценария |
Сценарии |
Вычисления XForms и XFDL |
JavaScript™ |
Экземпляр данных |
Экземпляр данных XML или XForms |
Шаблон данных XFA |
Вызов WebService |
Поддерживается |
Поддерживается |
Цифровая подпись |
Цифровая подпись XFDL |
Цифровая подпись XML и PDF |
ActiveX Data Object (ADO) API |
Нет |
Поддерживается |
Встраивание |
Поддерживается встраивание в HTML |
XML Data Package (XDP), встроенный в PDF |
Макет |
Указание координат элемента в пикселах или относительная расстановка |
Управляется процессором разметки в контейнерном объекте |
HTML |
Не поддерживается |
Поддерживается встраивание HTML-фрагмента |
Требования к проекту миграции
Проекты миграции с PDF-форм включают в себя преобразование существующих PDF-форм в Lotus Forms. PDF-формы могут быть статическими или динамическими. Важно, чтобы требования к проекту были четко задокументированы до начала миграции, причем требования должны обеспечивать поэлементную детализацию каждой формы, чтобы разработчик формы мог обрабатывать каждый элемент в соответствии с четкими инструкциями.
Обычно в техническом задании (документе с требованиями) должны содержаться следующие сведения:
- Общие указания. Это общие указания по миграции. Они включают в себя область миграции, список возможностей и четкое описание того, что должно быть преобразовано из PDF, а что нет.
- Шаблон XFDL-формы. Этот шаблон включает в себя общий стиль и повторно используемые компоненты, такие как панель инструментов, цвет фона, настройки печати, размер и цвет шрифта текстовых элементов, список стран и штатов и т.п.
- Подробная электронная таблица для каждой формы. Для каждой формы, которую необходимо преобразовать, нужно разработать электронную таблицу, описывающую содержимое и соответствие между PDF и XFDL, потому что элементы Lotus Forms и PDF могут иметь различные типы и свойства. Без такой информации разработчик формы может запутаться при попытке найти подходящий тип элемента и значение параметра. В таблице 2 приведена информация, которая должна быть включена в электронную таблицу.
Таблица 2. Пример информации о требованиях
Название столбца |
Описание |
Пример значения |
Название элемента |
Метка элемента |
Название организации |
Тип |
Тип преобразованного элемента, который может отличаться от PDF |
Группа контрольных полей |
Правило для элемента |
Ввод данных элемента |
Целое, один вариант выбора |
Формат |
Формат значения, например дата или почтовый индекс |
Дата: ММ/ДД/ГГГГ |
Значение по умолчанию |
Должен ли элемент иметь значение по умолчанию? |
По умолчанию - 100 |
Обязательный |
Должен ли элемент быть обязательно заполнен? |
Да или нет |
Диапазон |
Диапазон значений, обычно используется для числовых значений |
От 1 до 100 |
Длина элемента |
Размер элемента |
20 |
Включение/выключение |
Логика для функции включения/выключения элемента |
Включен, если ответ на первый вопрос - "да" |
Видимый/невидимый |
Логика для функции видимости/невидимости элемента |
Видимый, если ответ на первый вопрос - "да" |
Подсказка |
Текст подсказки для элемента |
Введите название организации. |
SID |
SID элемента |
Agency_Name |
Имя экземпляра данных |
Имя экземпляра данных, привязанных к элементу |
Agency_Name |
Вычисление |
Формула, если значение элемента вычисляется с использованием значений других элементов |
=Month1+Month2 |
Шаблон |
Повторно используемый шаблон, который может быть применен к данному элементу |
Сигнатура кнопки типа 1 |
Прочее |
Прочая информация или логика элемента |
Сигнатура относится только к разделу 1 и 2 |
Этапы миграции
После того как требования определены и задокументированы, можно выполнить миграцию с PDF-форм на Lotus Forms. Обычно миграция состоит из двух основных этапов:
- Инструментарий автоматически выполняет черновое преобразование из PDF в Lotus Forms. Инструментарий преобразования Lotus Forms - это плагин для Lotus Forms Designer, который можно использовать для преобразования PDF-форм в Lotus Forms. Его использование поможет вам избежать ручного труда при миграции.
- Ручная корректировка формы после чернового преобразования. Форма после чернового преобразования содержит только макет и логику. На основании таблицы требований разработчики форм могут поочередно рассматривать каждый элемент формы и корректировать элементы в Forms Designer.
В двух следующих разделах детально объяснены оба этапа.
Инструмент преобразования Lotus Forms
Инструмент преобразования для IBM Lotus Forms 3.0.1 (плагин Forms Conversion Tool) - это инновационный, простой в использовании инструмент, который позволяет владельцам бизнеса и разработчикам форм легко преобразовывать файлы в формате Portable Document Format (PDF) и электронные формы FileNet в Lotus Forms. Его также можно использовать для преобразования имеющихся форм Lotus Forms. В Lotus Forms Designer 3.5 инструмент преобразования Lotus Forms является встроенной частью. Используйте ссылку в разделе "Ресурсы" для загрузки и последующей установки плагина Forms Conversion Tool или пробной версии Lotus Forms Designer.
Автоматическое преобразование PDF
После установки инструмента преобразования выберите в меню File - New - Convert to Lotus Forms. Появится окно, показанное на рисунке 1.
Рисунок 1. Начальное окно Convert Forms
На рисунке 1 показано окно выбора преобразования. Нажмите кнопку Add File, чтобы добавить больше файлов для преобразования. В списке форматов можно выбрать два синтаксических анализатора: PDF и FileNet. Выберите анализатор PDF для преобразования PDF. Выберите профиль pdf_default из списка профилей, а затем нажмите кнопку Next.
Рисунок 2. Выбор месторасположения файла
На рисунке 2 показано окно, в котором можно выбрать место хранения преобразованных файлов. По умолчанию это та же папка, где находится PDF-файл. Можно также выбрать папку в конструкторе Workspace. После нажатия кнопки Finish PDF-файл будет преобразован. На рисунках 3 и 4 показана исходная PDF-форма и преобразованная XFDL-форма.
Рисунок 3. Исходная PDF-форма
Рисунок 4. Преобразованная форма Lotus Forms
Сравнивая эти два рисунка, можно видеть, что инструментарий успешно преобразовал большую часть надписей и макета.
Специализированные оптимизаторы и правила
Иногда при использовании профиля преобразования по умолчанию результат преобразования оказывается не так хорош, как хотелось бы. Создав специализированный файл преобразования, можно настроить процесс преобразования более тонко. Выберите Forms Designer Windows - Preferences, затем Forms Conversion и Transformation Profiles в левой панели окна Preference и нажмите кнопку New. Отобразится окно Profile Edit, как показано на рисунке 5.
Рисунок 5. Окно Edit Form Conversion Profile
В этом окне можно настроить профиль преобразования для конкретного типа файла. Содержимое профиля преобразования:
- Правила преобразования. Эти правила применяются при настройке содержимого созданной формы, включая добавление панели инструментов из шаблона формы, обновление шрифта, цвета и границы элемента, изменение правила генерирования SID и порядка элементов в источнике XFDL.
- Создание XForms. Эта опция используется для выбора списка элементов управления, которые связаны с экземпляром данных XForms.
- Оптимизаторы макета. Оптимизаторы содержат параметры, которые можно настроить в процессе преобразования PDF-элементов в XFDL-элементы, например параметры для создания поля флажка из четырех линий и выравнивания надписей и полей. Оптимизаторы предназначены для создания новых интерактивных элементов (флажков, полей) в форме, основанной на статических элементах (надписи, линии) PDF, и выравнивания существующих элементов (надписей или полей) в форме.
По опыту нашего проекта миграции мы сформулировали следующие общие принципы настройки профиля:
- Создавайте профиль для каждого пакета форм. Каждый пакет форм может иметь свой собственный стиль. Создавайте профиль для каждого пакета и задавайте параметры так, чтобы достичь наилучшего результата. Профили можно экспортировать и импортировать, так что настройки преобразования можно сделать доступными всем разработчикам форм.
- Если требования к форме включают в себя подробные правила XForms, задавайте отключение создания экземпляра XForms, так как имя создаваемого экземпляра основано на SID и обычно не соответствует ожиданиям системы последующей обработки.
- Включайте опцию Use default width and height (использовать ширину и высоту по умолчанию), если в преобразованной форме некоторые надписи обрезаются из-за недостаточной длины, установленной для надписи. Это правило удаляет ширину и высоту надписи, которая использует размер по умолчанию, вычисленный средством просмотра Lotus Forms.
- Отключайте опцию Combine Adjacent Lines/Labels, если в форме создается слишком мало полей. Объединение линий и надписей влияет на создание полей оптимизатором Transform a line or a box into a field, так как при этом удаляются некоторые линии и надписи формы.
Корректировка вручную после автоматического преобразования
В большинстве случаев автоматически преобразованные формы нельзя использовать напрямую, так как экземпляры данных формы не слишком хорошо упорядочены, а в проекте миграции обычно требуется, чтобы экземпляр данных соответствовал определенной схеме, которую можно передать на дальнейшую обработку.
Корректировка элементов вручную
Ручная корректировка - это необходимый этап в проекте миграции, на котором восполняются функции, пропущенные при автоматическом преобразовании. Нужно выполнить несколько обязательных шагов:
- Откорректируйте поэлементно макет, формат, логику и SID на основании электронной таблицы с документированными требованиями к форме.
- Создайте экземпляр данных XForms и связывание XForms на основе бизнес-логики.
- В ходе автоматического преобразования для непреобразованных элементов PDF, таких как нераспознанные цветовые области или изображения, будут созданы XML-комментарии в XFDL. В ходе ручной корректировки необходимо убрать эти комментарии или исправить непреобразованные элементы в соответствии с ними.
- Откорректируйте цифровую подпись в соответствии с требованиями. Автоматическое преобразование может генерировать лишь Clickwap-подпись.
- Откорректируйте предоставление данных в соответствии с требованиями. Автоматическое преобразование не обрабатывает предоставление данных в исходной PDF-форме.
- Откорректируйте логику, основанную в PDF-форме на JavaScript. Автоматическое преобразование не преобразовывает JavaScript в сценарий XFDL.
- Откорректируйте графические элементы. В PDF-форме могут содержаться графические элементы, такие как векторные изображения, наклонные и изогнутые линии. Эти элементы не поддерживаются Lotus Forms, но их можно заменить, используя изображения JPG или GIF, полученные из PDF-формы.
Инструкция по контролю качества
После ручной корректировки выполняется генерация формы и начинается процесс контроля качества. В таблице 3 приведен основанный на нашем опыте проектов миграции список пунктов, на которые необходимо обратить внимание в процессе контроля качества.
Таблица 3. Ведомость контроля качества
Наименование |
Описание |
Шрифты и цвета |
Некоторые шрифты и цвета PDF-форм неправильно отображаются в Lotus Forms. В процессе контроля качества необходимо проверить несоответствия. |
Проверка макета |
Сравните макет формы в средстве просмотра Lotus Forms или Webform Server с исходной PDF-формой. Особое внимание уделите надписям и линиям. Например, в PDF ширину символа можно менять, но в Lotus Forms она фиксированная. Это несоответствие может привести к тому, что надписи будут выглядеть по-другому. |
Проверка печати |
Распечатайте преобразованную форму и исходную PDF-форму. Сравните распечатанные на бумаге формы на предмет несоответствий. |
Правило проверки данных |
Сравните проверку данных в PDF-форме и в преобразованной форме путем ввода данных в формах. |
Логика сценария |
Сравните логику XFDL и XForms с JavaScript в PDF, чтобы проверить правильность ее реализации в преобразованной форме. |
Динамическое содержимое |
PDF и XFDL поддерживают создание динамического содержимого. Вы можете проверить его путем создания полного набора данных в экземпляре данных. |
Заключение
В целом проект миграции PDF-форм включает в себя сбор четко сформулированных требований для каждой формы, инструментальное автоматизированное преобразование PDF, ручную корректировку форм и процесс контроля качества. Поскольку часть процесса автоматизирована и требует знания PDF, проект миграции отличается от других проектов Lotus Forms, таких как создание форм с нуля. Инструмент преобразования Lotus Forms является хорошим выбором для проекта миграции PDF-форм.