Что внутри PDF: объекты, потоки и таблица перекрёстных ссылок
PDF — это граф пронумерованных объектов, сжатых потоков и таблица перекрёстных ссылок. Get Info показывает структуру, Repair чинит её при поломке карты.

PDF — не плоский дамп страниц. Это небольшая база данных из объектов, многие из которых хранятся как сжатые потоки, а находит их таблица перекрёстных ссылок (xref), позволяющая читателю перейти к объекту 17, не прочёсывая весь файл. Когда эта карта ломается, просмотрщики называют файл повреждённым, даже если байты страниц всё ещё лежат на диске.
Объекты
Всё интересное (страницы, шрифты, изображения, метаданные, каталог документа) — это объект с номером. Страницы указывают на потоки содержимого и ресурсы; ресурсы указывают на шрифты и XObjects; каталог указывает на дерево страниц. Инструменты слияния, поворота или штампа в основном переписывают этот граф, а не перерисовывают пиксели.
Потоки
Поток — это объект, полезная нагрузка которого является последовательностью байтов, часто сжатой Flate: операторы содержимого страницы, встроенные файлы шрифтов, данные изображений. Именно поэтому PDF в текстовом редакторе выглядит как смесь ASCII-токенов и двоичных блоков. Разворачивание потоков (без изменения внешнего вида страниц) полезно для отладки; Сжатие на этом сайте пережимает эти потоки через qpdf — он не прореживает изображения и не подрезает шрифты.
Таблица перекрёстных ссылок
Ближе к концу типичного файла раздел xref (или поток xref в более новых файлах) перечисляет смещения в байтах для каждого номера объекта. Читатели переходят по этим смещениям. Обрезанные загрузки, плохие слияния и наполовину записанные сохранения часто оставляют трейлер указывающим на смещения, которые больше не совпадают. Пиксели первой страницы могут всё ещё существовать; карты, которая находит «первую страницу», нет.
Именно поэтому структурный ремонт — другая задача, нежели OCR или снятие защиты: ремонт перестраивает внутреннюю структуру из уцелевших фрагментов; он не изобретает пропавшую графику страниц и не угадывает пароль.
Проверьте, прежде чем переписывать
Get Info on PDF возвращает отчёт JSON (число страниц, метаданные, шрифты, структурные детали), а не изменённый PDF. Используйте его, когда нужно понять, что у вас в руках, до сжатия, конвертации или ремонта.
Если просмотрщик вообще отказывается открывать файл, попробуйте Repair PDF, который перестраивает структуру, включая восстановление перекрёстных ссылок. Если файл открывается, но сканированный текст не выделяется, это проблема OCR, а не xref.
Короткий порядок решений
- Файл не открывается → сначала Repair.
- Файл открывается; нужны факты (страницы, шрифты, признаки шифрования) → Get Info.
- Структура в порядке; нужен файл поменьше или читаемый текст из скана → Сжатие ради размера или OCR ради текста Markdown, а не ещё один проход ремонта.
И Get Info, и Repair работают без аккаунта. О тех же операциях по HTTP см. Разработчикам. О том, чем Repair отличается от брендовых настольных продуктов «восстановления», см. Ремонт PDF онлайн против запросов о Recovery Toolbox.