Tiny Online Tools logoTiny Online ToolssearchПоиск инструментов…grid_viewВсе инструменты
Главнаяchevron_rightPDF инструментыchevron_rightИнспектор полей PDF-формыИнспектор полей PDF-формы

Инспектор полей PDF-формы

Исследуйте каждое поле AcroForm в PDF: иерархию имён, тип, биты флагов, экспортные значения, координаты и проблемы отображения.

upload_file

Нажмите для выбора или перетащите файлы сюда

Выберите PDF с формой

Допустимо: .pdf,application/pdf

Похожие инструменты

Инспектор JavaScript в PDF

Инспектор JavaScript в PDF

Находит все сценарии внутри PDF — действия документа, события страниц и аннотаций, расчёты полей форм — и показывает их, не запуская.

Сведение PDF-формы

Сведение PDF-формы

Впечатывает значения PDF-формы в страницу, чтобы их нельзя было изменить: выборочно и с проверкой отрисовкой, что значения остались видимыми.

Экстрактор данных PDF-формы

Экстрактор данных PDF-формы

Экспортируйте значения заполненных PDF-форм в JSON, CSV, FDF или XFDF, включая пакетный режим: много форм — одна таблица.

Инспектор плашечных цветов PDF

Инспектор плашечных цветов PDF

Найдите все краски Pantone и плашечные цвета в печатном PDF и посчитайте, сколько печатных форм на самом деле нужно заказу.

Проверка контраста цвета

Проверка контраста цвета

Проверяйте соотношение контраста цветов по WCAG 2.1 для доступности.

Генератор миниатюр видео

Генератор миниатюр видео

Извлекайте один кадр из любого видео в выбранный момент и сохраняйте его как PNG-миниатюру.

Зеркальное отражение видео

Зеркальное отражение видео

Зеркальное отражение видео помогает отразить запись по горизонтали или вертикали прямо в браузере. Используйте его для быстрой и приватной подготовки медиа, публикаций, уроков, демонстраций и повседневного редактирования.

apps

Больше инструментов

Просмотрите нашу полную коллекцию бесплатных онлайн-инструментов.

Загляните внутрь PDF-формы, а не только на её поверхность

Заполняемый PDF кажется простым и почти никогда таким не является. За каждой рамкой стоит поле AcroForm с именем, вложенным на три уровня, целое число /Ff, биты которого означают разное в зависимости от типа поля, экспортное значение, которое почти никогда не совпадает с надписью рядом, и поток внешнего вида, который одни просмотрщики перестраивают, а другие нет. Инспектор полей PDF-формы открывает всё это.

Что он показывает

  • Полное имя — /T, собранное по цепочке /Parent, так что address.city показывается как address.city, а не как одинокое city, к которому не обратиться.
  • Настоящий тип — текст, многострочный, гребёнка, пароль, флажок, группа переключателей, кнопка, раскрывающийся список, список или подпись, выведенный из /FT и битов флагов.
  • Каждый бит /Ff, расшифрованный для нужного типа. Бит 26 — это RichText у текстового поля и RadiosInUnison у кнопки; расшифровка без учёта /FT даёт бессмыслицу.
  • Экспортные значения. Ключ словаря /AP /N каждого виджета — это то, что отправляет флажок или переключатель. Часто это 1, On или код товара, а вовсе не Yes.
  • /MaxLen, /Opt, шрифт и кегль из /DA, выравнивание /Q, подсказка /TU, значение /DV и любые дополнительные действия /AA.
  • Координаты — исходный /Rect в пользовательском пространстве снизу вверх и та же рамка в координатах страницы сверху вниз, плюс позиция обхода внутри /Annots.

Какие проблемы он находит

Повторяющиеся полные имена (две рамки, одно значение). Виджеты без потока внешнего вида, которые пусты в строгих просмотрщиках и ломают сведение. Виджеты за пределами CropBox — есть, заполнены, не видны. Осиротевшие виджеты, не принадлежащие ни одному полю. Установленный /NeedAppearances, который на практике означает, что значения видны лишь в просмотрщике, который их перестраивает.

Чего он не может

Он читает сохранённую структуру. Он не выполняет JavaScript формы, поэтому вычисляемое поле показывает последнее сохранённое значение, а не то, что вернул бы сценарий. Он также не проверяет форму на соответствие какому-либо стандарту.

Приватность

PDF разбирается в вашем браузере средствами pdf-lib и pdf.js. Ничего никуда не отправляется, а экспорт в JSON и CSV формируется локально.