Декодер потоков PDF
Изучайте внутреннее устройство любого PDF. Декодер потоков PDF перечисляет все потоковые объекты файла, распаковывает фильтры FlateDecode, LZW, ASCII85 и ASCIIHex и показывает декодированные операторы в стиле PostScript — всё локально в браузере, без загрузки на сервер.
Drop a PDF here or click to browse
Unencrypted PDFs only
Upload a PDF to start inspecting its stream objects
Upload a PDF to inspect its content streams
Зачем использовать наш декодер потоков PDF?
- Декодирование потоков с несколькими фильтрами: декодер автоматически распаковывает потоки FlateDecode (zlib/deflate), LZWDecode, ASCII85Decode и ASCIIHexDecode, чтобы вы могли читать содержимое операторов PDF без дополнительного ПО.
- Просмотр объектов по номеру: перемещайтесь по таблице объектов PDF и переходите к любому косвенному объекту по номеру. Каждый потоковый объект показывает метаданные своего словаря (Length, Filter, Subtype) рядом с декодированным содержимым.
- 100 % приватно — работает в браузере: весь разбор PDF и декодирование потоков выполняются локально в браузере на клиентском JavaScript. Ваш PDF никогда не покидает устройство, поэтому закрытые и конфиденциальные файлы остаются полностью защищёнными.
- Мгновенный доступ для разработчиков без регистрации: загрузите любой PDF и начните анализировать потоки за секунды — без аккаунта, ограничений размера и полностью бесплатно. Идеально для отладки, обратной разработки и задач разработки с PDF.
Типичные сценарии использования декодера потоков PDF
- Разбор ошибок отображения PDF: проверьте необработанный поток содержимого страницы, которая отображается неправильно, чтобы выявить некорректные операторы, отсутствующие ресурсы или проблемы кодировки.
- Разработка библиотек PDF: создавая библиотеки генерации или разбора PDF, используйте декодер, чтобы убедиться, что выходные потоки содержат правильные операторы и параметры ещё до теста в просмотрщике.
- Анализ встроенного содержимого: декодируйте встроенные потоки XObject (формы, изображения и шаблоны), чтобы изучить последовательности операторов и подтвердить, что вложенное содержимое ссылается на нужные ресурсы.
- Отладка цепочек фильтров: находите многоступенчатые цепочки фильтров (например, FlateDecode + ASCII85Decode) в сложных PDF и декодируйте каждый слой, проверяя промежуточное и итоговое содержимое.
- Исследование безопасности PDF: изучайте потоки содержимого в подозрительных PDF, чтобы выявить обфусцированный JavaScript, встроенные скрипты или необычные последовательности операторов, указывающие на вредоносный контент.
- Прототипирование извлечения данных: используйте декодированное содержимое, чтобы понять структуру операторов PDF до создания парсера, программно извлекающего позиции текста, смену шрифтов или команды рисования.
Что такое поток содержимого PDF?
Внутри каждого PDF-документа содержимое страниц закодировано как один или несколько потоков содержимого — последовательностей операторов в стиле PostScript, хранящихся в сжатых бинарных объектах. Эти потоки содержат инструкции для отрисовки текста (блоки BT/ET), рисования контуров (m, l, c, h), задания цветов (sc, scn, g, k), показа изображений (Do) и преобразования графического состояния (q, Q, cm). Перед декодированием потоки сжимаются такими фильтрами, как FlateDecode (zlib deflate), LZWDecode , ASCII85Decode или их цепочками. Декодер потоков PDF распаковывает эти фильтры и представляет необработанный текст операторов для человеческого анализа.
Как работает наш декодер потоков PDF
- Загрузка: перетащите PDF в инструмент. Необработанный бинарный файл разбирается в браузере для извлечения всех косвенных объектов и их перекрёстных ссылок — без загрузки на сервер.
- Просмотр: список объектов показывает каждый потоковый объект с номером, длиной потока, цепочкой фильтров и типом словаря. Фильтруйте по ключевому слову, чтобы найти нужные объекты.
- Декодирование: выберите любой объект, чтобы распаковать его поток. Фильтры FlateDecode, LZWDecode, ASCII85 и ASCIIHex применяются в правильном порядке. Декодированное содержимое отображается в моноширинном просмотрщике с возможностью копирования и скачивания.
Поддерживаемые фильтры и вывод
- FlateDecode: потоки, сжатые zlib/deflate — самый распространённый фильтр в современных PDF. Декодируется в необработанный текст операторов.
- LZWDecode: устаревшее сжатие Lempel-Ziv-Welch, применяемое в старых PDF. Декодируется в необработанный текст операторов.
- ASCII85Decode / ASCIIHexDecode: обёртки ASCII-кодирования для бинарных данных. Декодируются в исходные байты или текст операторов.
- Бинарные фильтры изображений: DCTDecode (JPEG), JPXDecode, CCITTFaxDecode, JBIG2Decode — помечаются как бинарные данные изображений и не отображаются как текст.
Приватность и целевая аудитория
Декодер потоков PDF — инструмент для разработчиков и продвинутых пользователей, предназначенный для отладки PDF, разработки библиотек, исследований безопасности и прототипирования извлечения данных. Всё декодирование выполняется локально в браузере — ваш PDF никогда не покидает устройство. Примечание: инструмент читает необработанный слой кодирования PDF и не заменяет полноценный просмотрщик по спецификации PDF. Некоторые сложные цепочки фильтров или сжатие объектных потоков (ObjStm) могут разбираться не полностью.
Часто задаваемые вопросы
Поток содержимого PDF — это сжатая последовательность операторов, описывающих содержимое страницы: текст, контуры, цвета и изображения. После декодирования необработанные операторы в стиле PostScript становятся читаемыми для человека.
Декодер потоков PDF обрабатывает FlateDecode (zlib/deflate), LZWDecode, ASCII85Decode и ASCIIHexDecode. Цепочки из нескольких фильтров декодируются по порядку. Бинарные фильтры изображений (DCTDecode, JPXDecode) помечаются как бинарные.
Некоторые потоки содержат сжатые данные изображений (JPEG, JBIG2), которые не читаются человеком даже после декодирования. Такие потоки помечаются как бинарные вместо показа необработанных байтов.
Нет. Весь декодер потоков PDF работает локально в вашем браузере на клиентском JavaScript. Ваш PDF никогда не передаётся на внешний сервер.
Используйте поле фильтра, чтобы найти объекты типа «Page». Потоки содержимого страниц обычно указываются с типом «Page» или «Stream». Можно также искать по номеру объекта, если вы знаете его из просмотрщика PDF.
Нет. В зашифрованных PDF потоки защищены ключом шифрования документа. Сначала снимите шифрование, затем используйте декодер потоков.
Да, полностью бесплатно. Без регистрации, ограничений на размер файла и ограничений на число проверяемых PDF или потоков.