Что такое PDF
PDF описывает страницу не как текст, а как набор инструкций: поставить такой-то глиф такого-то шрифта в точку с координатами, залить прямоугольник, показать картинку. Отсюда одинаковый вид документа в любой программе — и отсюда же трудности с правкой: слова не лежат абзацами, их приходится собирать обратно из отдельных позиций на листе. Единица измерения здесь пункт, одна семьдесят вторая дюйма, поэтому лист A4 внутри файла занимает 595 на 842 пункта.
Коротко о цифрах
- Стандарт
- PDF 1.7 — ISO 32000-1, PDF 2.0 — ISO 32000-2
- Единица измерения
- пункт, 1/72 дюйма; A4 — 595×842 пункта
- Обработка в браузере
- 19 инструментов из 33 не отправляют файл на сервер
- Лимит загрузки в браузерных инструментах
- 1 ГБ на файл
- Чем читается структура
- pdf-lib на клиенте, qpdf на сервере
Из чего собран файл
Внутри PDF лежит граф объектов: словари, потоки, ссылки одного объекта на другой. Страница — это словарь, у которого есть размеры прямоугольников, ссылка на поток содержимого с командами рисования и ссылка на ресурсы: шрифты, изображения, цветовые профили. Ни один из этих кусков не привязан к странице намертво: один вшитый шрифт обслуживает весь документ, поэтому копирование страниц по одной и раздувает файл — каждая копия тянет ресурсы заново.
В конце файла лежит таблица перекрёстных ссылок: смещение каждого объекта в байтах. Она нужна, чтобы просмотрщик открыл сотую страницу, не читая девяносто девять предыдущих. Именно её чинит ремонт PDF, когда файл «повреждён»: чаще всего содержимое цело, а сломан указатель на начало таблицы.
Два разных документа под одним расширением
- Текстовый PDF: символы записаны как символы, их можно выделить, найти поиском и извлечь. Такой файл получается из Word, Excel, 1С, из любой печати в PDF.
- Скан: страница целиком — одна картинка. Символов в файле нет, поиск не находит ничего, и извлекать нечего.
- Проверить тип за полминуты: попробуйте извлечь текст. Пусто — перед вами скан.
- От типа зависит половина ответов: скан можно сжать, повернуть, обрезать и разложить по листам, но не отредактировать и не найти в нём слово.
Что из этого следует на практике
- Правка текста в PDF всегда приблизительна: строка собирается из позиций, и вставленное слово не «раздвигает» абзац, как в редакторе.
- Файл несёт с собой всё нужное для показа, включая вшитые шрифты, — поэтому он и весит больше исходного документа.
- Из 33 инструментов сайта 19 работают целиком в браузере: файл не уходит на сервер, лимит загрузки — 1 ГБ.
- Структуру читают две разные библиотеки: pdf-lib на стороне браузера и qpdf на сервере — отсюда разное поведение инструментов с закладками и метаданными.
Частые вопросы
Почему PDF выглядит одинаково на любом компьютере?
Потому что файл несёт с собой всё, что нужно для отрисовки: координаты каждого элемента и, как правило, вшитые шрифты. Программа не пересобирает вёрстку по своим правилам, а выполняет готовые команды рисования.
Почему текст в PDF так трудно править?
В файле нет абзацев и строк в привычном смысле — есть команды поставить глиф в точку. Редактор вынужден заново угадывать, где кончается строка и какой кусок относится к одному абзацу, поэтому правка получается точечной.
Чем PDF из Word отличается от скана в PDF?
Наличием текстового слоя. В первом случае символы записаны символами и доступны поиску, во втором страница представляет собой изображение, и никакой поиск по нему работать не может.
Нужна ли отдельная программа, чтобы открыть PDF?
Нет, любой современный браузер показывает PDF без установки чего-либо. Отдельные приложения нужны для задач сложнее просмотра: подписи сертификатом, распознавания текста, работы со слоями и допечатной подготовки.