Перейти к содержимому
pdftools.kz

Как заполнить PDF-форму

Бланки в PDF бывают двух видов, и путь для них разный. Настоящая форма с интерактивными полями заполняется прямо в просмотрщике — Acrobat Reader, Preview, встроенный просмотрщик браузера, — а потом её стоит запечь, чтобы значения нельзя было изменить. Плоский бланк, где поля просто нарисованы линиями, заполняют надписями поверх страницы. Редактора самих интерактивных полей у нас нет, и обещать его мы не будем.

Локально в браузеребез регистрации

Коротко о цифрах

Редактор интерактивных полей
отсутствует: значения вписываются поверх страницы
Запекание
поле применяется, только если разрешились все его виджеты
Поля с кириллицей
перерисовываются встроенным Roboto вместо WinAnsi Helvetica
Незапечённые поля
остаются интерактивными и называются поимённо
Ссылки
при запекании не удаляются: у них нет внешнего вида, а навигация нужна

Как понять, какой у вас бланк

  • Щёлкните по строке, куда надо вписать значение. Появился курсор и подсветилась рамка — это интерактивное поле.
  • Ничего не происходит, но строка выделяется как текст — бланк плоский, поля просто нарисованы линиями.
  • Ничего не происходит и выделить нельзя — перед вами скан, то есть страница-картинка целиком.
  • Форма бывает смешанной: часть полей интерактивна, часть напечатана. Проверяйте каждое, а не первое попавшееся.

Настоящие поля: заполнить и заморозить

Значения, введённые в интерактивные поля, живут отдельно от содержимого страницы. Их можно случайно стереть, а некоторые просмотрщики печатают такое поле пустым. Поэтому перед отправкой форму запекают: значения переносятся в содержимое страницы, интерактивность исчезает, и файл выглядит одинаково у всех.

Наша реализация разбирает поля по одному. Библиотечная функция «запечь всё» падает на первом же виджете, который не удалось разрешить, — и падает уже после того, как перезаписала страницы предыдущих полей. Одно осиротевшее поле стоит всего документа. У нас поле применяется, только если разрешились все его виджеты, а те, что не поддались, остаются интерактивными и перечисляются по именам.

Второй подводный камень — кириллица. Стандартная перерисовка внешнего вида поля идёт через WinAnsi Helvetica, и любое значение по-русски или по-казахски бросает ошибку кодирования. Такие поля перерисовываются встроенным Roboto — это разница между запечённым значением и пустой клеткой в готовом файле.

Плоский бланк: писать поверх

  1. Откройте документ в редакторе и оставайтесь в режиме разметки.
  2. Инструментом «Текст» впишите значения в нужные клетки; кегль подбирайте под высоту строки бланка.
  3. Галочки удобнее ставить тем же текстом — символом × или ✓, а не рисовать карандашом.
  4. Подпись добавляйте отдельным инструментом: он умеет и нарисованную от руки, и загруженную картинкой.
  5. Экспортируйте файл. Надписи стали частью содержимого страниц и переживут пересохранение у получателя.

Частые вопросы

Чем запекание отличается от обычного сохранения?

Сохранение оставляет поля интерактивными: получатель может изменить значение, а часть просмотрщиков печатает такое поле пустым. Запекание переносит значения в содержимое страницы, после чего изменить их обычными средствами уже нельзя.

Почему часть полей осталась интерактивной после запекания?

Значит, их внешний вид не удалось разрешить — обычно у виджета нет страницы или потока внешнего вида. Такие поля названы поимённо: это честнее, чем отдать «замороженный» бланк с живыми клетками внутри.

Можно ли заполнить форму прямо в браузере на телефоне?

Интерактивные поля — да, встроенный просмотрщик мобильного браузера их обычно поддерживает. Плоский бланк удобнее заполнять на большом экране: попасть пальцем надписью в клетку высотой четыре миллиметра тяжело.

Что делать, если бланк — скан с печатью?

Работать с ним как с плоским: вписывать значения поверх картинки. Текстового слоя в скане нет, поэтому ни поиск, ни автоподстановка там не работают — только ручная расстановка надписей.

Рядом