Что такое формат файла PDF?
Файлы с расширением .pdf содержат текстовые или графические документы, сохраненные в формате, разработанном для обеспечения переносимости между приложениями и платформами. Он хранит документ с фиксированным внешним видом - точную цифровую распечатку, которая отображается идентично независимо от устройства или программного обеспечения, используемого для открытия. Спецификация была первоначально разработана в 1990-х годах компанией Adobe Systems, и она основана на языке PostScript. С 2008 года это открытый формат, определенный стандартом ISO 32000 (ранее он был проприетарным). Самая последняя версия, PDF 2.0, указана в ISO 32000-2 (опубликована в 2017 году, пересмотрена в 2020 году).
Текущая реализация позволяет размещать внутри документа .pdf:
- Текст и встроенные шрифты,
- Векторную графику и растровые изображения,
- Аннотации,
- Интерактивные формы,
- Слои,
- 3D-объекты,
- Мультимедийный контент (включая видео).
Файл .pdf может быть зашифрован и подписан цифровой подписью, а также может включать метаданные и вложения. Это синтез языка описания страниц PostScript, системы встраивания шрифтов, которая объединяет гарнитуры для единообразного отображения документа на любой машине, и структурированной системы хранения объектов, объединяющей все элементы в один двоичный файл с возможностью сжатия данных.
Файл всегда начинается с заголовка %PDF-, за которым следует строка версии (например, %PDF-1.7 или %PDF-2.0) со смещением 0 байт, и заканчивается маркером %%EOF - это позволяет надежно идентифицировать файлы .pdf по их «магическим байтам». Данные форм, экспортированные из документов PDF, могут быть сохранены отдельно в виде файлов .fdf или .xfdf. Файлы Adobe Illustrator .ai, имеющие общее наследие PostScript с PDF, тесно связаны с ним и часто могут быть открыты программами просмотра PDF.
Безопасность и защита
РИСК: MEDIUMPDF не является инертным: формат может содержать JavaScript, запускать действия, включать встроенные файлы и ссылки. На протяжении многих лет злоумышленники использовали вредоносные PDF для эксплуатации уязвимостей программ чтения или для фишинга (поддельный счет со ссылкой на сайт для кражи учетных данных). Обновляйте программу для чтения PDF, отключайте в ней JavaScript, если он вам не нужен, и с осторожностью относитесь к неожиданным PDF-файлам, предлагающим перейти по ссылкам или включить контент. Зашифрованные PDF и запросы пароля - нормальное явление для конфиденциальных документов. Большинство повседневных PDF безопасны, но относитесь к вложениям от неизвестных отправителей с осторожностью.
Детали формата
в двух словахПрограммы, открывающие файлы PDF
Технические подробности
глубокая спецификация| MIME-тип | application/pdf |
| Магические байты | %PDF- (hex: 25 50 44 46 2D) при смещении 0; файл заканчивается на %%EOF |
| Структура файла | Объектно-ориентированный двоичный формат; таблица перекрестных ссылок (xref) или поток перекрестных ссылок сопоставляет номера объектов со смещениями байтов внутри файла |
| Фильтры сжатия | FlateDecode (zlib/deflate), DCTDecode (JPEG), JPXDecode (JPEG 2000), JBIG2Decode, LZWDecode и дополнительные потоковые фильтры |
| Шифрование | AES-128 и AES-256 (PDF 1.6+/1.7+); устаревшие RC4 40-бит и 128-бит также определены в спецификации |
| Цифровые подписи | Подписи PKCS#7/CMS и PAdES, встроенные в документ; поддерживает типы подписей одобрения и сертификации |
| Цветовые пространства | DeviceRGB, DeviceCMYK, DeviceGray, на основе ICC (встроенный профиль ICC), CIE Lab и плашечные/раздельные цвета |
| Встраивание шрифтов | Типы Type 1, TrueType, OpenType (контуры CFF/глифов) и CIDFont могут быть встроены полностью или частично (subsetting) |
| Линеаризация | Опциональная структура «Fast Web View», позволяющая осуществлять потоковую загрузку по страницам без предварительной загрузки всего файла |
| Подмножества соответствия | PDF/A (архивный, ISO 19005), PDF/X (препресс, ISO 15930), PDF/E (инженерный), PDF/UA (доступность, ISO 14289), PDF/VT (переменные/транзакционные данные) |
| Сигнализация версии | Объявляется в заголовке файла (например, %PDF-1.7 или %PDF-2.0); каталог документа может указывать равную или более высокую версию |
| Система координат страницы | Пространство пользователя по умолчанию: 1/72 дюйма на единицу, начало координат в левом нижнем углу; макс. размер страницы 14 400 x 14 400 дюймов (PDF 1.6+) |
| Тегированный PDF (доступность) | Дополнительное дерево структуры с логическим порядком чтения, альтернативным текстом и сопоставлением ролей для экранных дикторов и соответствия PDF/UA (ISO 14289) |
| Модель прозрачности | Модель альфа-композитинга, представленная в PDF 1.4: поддерживает режимы наложения, альфа-каналы и мягкие маски для многослойных объектов |
| Поддержка JavaScript | Acrobat JavaScript (подмножество ECMAScript) может быть встроен для интерактивных форм, валидации полей и автоматизации на уровне документа |
| Метаданные | Поток метаданных XMP на уровне документа плюс устаревший словарь Info; поддерживает Dublin Core, PDF и пользовательские схемы расширения |
| Выпущен | 1993 (Adobe); ISO 32000-1 in 2008, ISO 32000-2 (PDF 2.0) in 2017/2020 |
| Открыть стандартное | Да · без роялти |
| Спецификация | www.iso.org |