Заглянуть внутрь PDF
Любой инструмент для PDF редактирует страницы; почти ни один не показывает, что PDF представляет собой на самом деле. Этот проходит по всему графу объектов так, как его читает инженер, работающий с PDF, — полезно для отладки генераторов, проверки того, что несёт файл, и изучения самого формата.
- Работает целиком в вашем браузере
- Работает без интернета
- Без отправки файлов
- Без регистрации
- Без водяных знаков
Загружаем инструмент…
Как это работает
- Перетащите PDF — qpdf разбирает весь граф объектов прямо в вашем браузере.
- Фильтруйте по типу объекта или ищите по словарям; нажмите на объект, чтобы увидеть его в отформатированном виде.
- Проверьте сводку: версию, число страниц, шифрование и сколько сохранённых поколений несёт файл.
Почему ничего не отправляется на сервер
Всё, что делает эта страница, выполняет код внутри вкладки вашего браузера — тем же движком, который рисует веб-страницы. Файл читается с диска в память вкладки, преобразуется там и записывается обратно как загружаемый файл. Он никуда не отправляется — ни нам, ни третьей стороне.
Проверьте сами
- Откройте инструменты разработчика в браузере (F12) и перейдите на вкладку «Сеть» (Network).
- Загрузите свой файл и запустите инструмент.
- Единственные запросы, которые вы увидите, — это код самого инструмента, а у нескольких тяжёлых инструментов ещё и их открытый движок из публичного CDN, плюс один небольшой сигнал о просмотре страницы на loreatec.jp (адрес и заголовок страницы, больше ничего). Ни один из них не несёт ваш файл.
Частые вопросы
Что такое «сохранённые поколения» и почему на них указывают отдельно?
PDF можно сохранять инкрементально: новая версия дописывается в конец, а старые байты остаются в файле. Больше одного поколения означает, что более раннее содержимое может быть восстановлено, если обрезать файл на более раннем %%EOF, — это важно, когда документ «поправили» перед тем, как им поделиться.
Для чего это реально может пригодиться?
Для отладки PDF, который генерирует ваш код (почему шрифт не встроился? куда делись метаданные?), для проверки файла перед публикацией (что в нём на самом деле есть?) и для понимания, почему один PDF на 200 КБ открывается мгновенно, а другой еле ползёт. Граф объектов отвечает на вопросы, которые инструменты уровня страниц даже не умеют задать.
Он показывает содержимое потоков?
Он показывает словарь каждого потока — длину, фильтры, тип, — но в этой версии не извлекает раскодированные данные. Для изображений страниц есть инструмент извлечения картинок, для текста — инструменты извлечения текста.
PDF отправляется на сервер?
Нет. Стандартная библиотека для PDF с открытым кодом, скомпилированная в WebAssembly, разбирает файл прямо в этой вкладке. Для инструмента, чья аудитория проверяет неопубликованные и конфиденциальные документы, локальная работа — единственный приемлемый вариант.