Как устроены формы PDF — поля, AcroForms и плоские сканы
Обновлено
Полезно понимать, что на самом деле происходит внутри формы PDF, — это объясняет почти все странности, с которыми вы столкнётесь. Страница PDF — это фиксированная вёрстка: текст, линии и изображения расположены в точных координатах. Форма добавляет поверх этой вёрстки отдельный слой — интерактивные поля, каждое из которых знает, что оно такое: текстовое поле, флажок, выпадающий список или область для подписи.
Когда у формы есть такой слой полей, программа просмотра PDF рисует редактируемые окошки там, где их разместил разработчик. Вы печатаете текст, и программа сохраняет введённые данные в поле, а не впечатывает их прямо в страницу. Именно из-за этого разделения заполненные ответы иногда можно очистить, изменить или они могут не сохраниться — они существуют в слое полей, а не в самой странице, пока вы их не зафиксируете.
Неинтерактивные формы полностью обходятся без слоя полей. Это просто изображение страницы, поэтому печатать в них напрямую некуда — вы добавляете собственные текстовые объекты поверх. В этом руководстве рассказано, как устроены оба варианта, что делает фиксация данных и почему одна и та же форма может вести себя по-разному в разных приложениях.
Пошагово
- 1
Слой страницы: фиксированный и окончательный
У каждого PDF есть слой страницы с текстом и графикой, закреплёнными в точных позициях. Именно поэтому PDF выглядит одинаково везде. В неинтерактивной форме строки вопросов и подписи целиком находятся здесь.
- 2
Слой полей: интерактивность поверх
Интерактивные формы добавляют поверх страницы слой полей формы — текстовые поля, флажки, переключатели, выпадающие списки, поля для подписи. У каждого поля есть имя и тип, которые понимает программа просмотра.
- 3
Заполнение: ввод хранится в полях
Когда вы печатаете в интерактивном поле, ваш ответ хранится в этом поле, а не сливается со страницей. Именно поэтому его можно очистить и напечатать заново, и именно поэтому в другой программе просмотра он может отображаться чуть иначе.
- 4
Сохранение: как удержать значения полей
Сохранение заполненной формы записывает значения полей внутри файла. Некоторые простые программы просмотра позволяют только распечатать документ, но не сохранить данные, — это классическая причина, по которой заполненные ответы исчезают при повторном открытии файла.
- 5
Фиксация: слияние полей со страницей
Фиксация данных переносит значения полей в слой страницы, превращая их в постоянное содержимое страницы. После фиксации ответы нельзя изменить или очистить — это полезно непосредственно перед тем, как отправить форму обратно.
Советы
- Представьте интерактивную форму как прозрачный лист редактируемых окошек, наложенный на распечатанную страницу. Фиксация данных приклеивает этот лист намертво.
- Поскольку значения полей хранятся отдельно от страницы, одна и та же форма может немного различаться в разных программах просмотра — шрифты и размер полей не всегда совпадают.
- Если ответы постоянно пропадают, значит, слой полей не сохраняется. Используйте инструмент, который записывает значения полей в файл, либо зафиксируйте данные перед закрытием.
- Некоторые сложные формы (их часто называют XFA или динамическими) используют более сложную структуру, которую многие программы просмотра поддерживают не полностью, — именно они чаще всего работают неправильно.
- У неинтерактивных форм слоя полей вообще нет, поэтому они никогда не теряют данные так, как это бывает с интерактивными, — добавленный вами текст просто лежит на странице.
Попробуйте с телефона
Приложение PDF Editor считывает слой полей формы при открытии, поэтому интерактивные поля сразу доступны для нажатия. Для неинтерактивных форм без слоя полей оно позволяет добавлять текст и пометки прямо на страницу, а затем экспортировать результат — и вы можете зафиксировать его, чтобы ответы были закреплены перед отправкой.