Документ PDF (.pdf)
ISO СтандартPortable Document Format (PDF): це поширений у всьому світі стандарт цифрових документів, призначений для однакового подання документів незалежно від програмного забезпечення, обладнання та операційної системи.
Конвертувати з PDF у JPG
Безкоштовний конвертер з PDF у JPG у браузері. Миттєво конвертуйте файли на своєму пристрої.
Стиснути PDF онлайн
Приватно - файли ніколи не залишають ваш пристрій
Аналіз та метадані
Операційні системи та аналізатори файлів ідентифікують файли PDF, перевіряючи початкову послідовність бінарних байтів:
Сигнатура заголовка на байтовому рівні (Magic Bytes)
Операційні системи та аналізатори файлів ідентифікують файли PDF, перевіряючи початкову послідовність бінарних байтів:
ШІСТНАДЦЯТКОВА СИГНАТУРА (ЗСУВ 0):
25 50 44 46ПОДАННЯ В ASCII: %PDF
Стандартизація: ISO 32000-1 (2008) / ISO 32000-2 (2020)
Технічні характеристики
| Архітектура контейнера | Гібридна двійкова/ASCII ієрархія об'єктів з таблицею перехресних посилань |
| Стиснення | FlateDecode (Deflate), DCTDecode (JPEG), CCITT Fax, JBIG2, JPXDecode |
| Порядок байтів (Endianness) | Прямий порядок байтів (Big-Endian, порядок байтів мережі) для потоків двійкових об'єктів |
| Колірні простори | sRGB, Display P3, DeviceCMYK, Grayscale, Плашкові кольори (Pantone) |
| Канали та структура | Багатошарова векторна графіка, типографіка, растрові потоки та вбудовані метадані |
| Максимальні розміри | 200 x 200 дюймів (UserUnit дозволяє до 15 000 000 дюймів у PDF 1.6+) |
| Прозорість | Повна альфа-прозорість, режими накладання та маски непрозорості |
| Потокове та прогресивне завантаження | Лінеаризований PDF («Fast Web View») підтримує потокове передавання діапазонів байтів через HTTP-запити Range. |
Технічна матриця порівняння: PDF проти конкурентів
| Технічний атрибут | PDF (Поточний) | DOCX | EPUB | HTML5 |
|---|---|---|---|---|
| Візуальна точність макета | Допомагає зберігати макет, але відображення залежить від переглядача та пристрою виведення. | На основі потоку; відрізняється залежно від версій Word та встановлених шрифтів | Макет читача з можливістю перекомпонування; немає гарантій фіксованої типографіки | Гнучка блокова модель CSS; відображення залежить від екрана. |
| Автономність | Може вбудовувати шрифти й зображення, але вміст залежить від документа та параметрів створення | Автономний контейнер XML (системні шрифти зазвичай не вбудовані) | Автономний контейнер ZIP (пакетовані ресурси XHTML/CSS) | Вимагає зовнішніх ресурсів HTTP, якщо вони не спаковані через MHTML |
| Криптографічні підписи | Вбудовані в стандарт ISO криптографічні цифрові підписи PAdES та X.509 | Підтримуються цифрові підписи Office XML DSig | Вимагає спеціальних цифрових підписів контейнерів | Вимагає Web Crypto API або зовнішніх гарантій транспорту TLS |
| Адаптація для мобільних пристроїв | Полотно з фіксованою сторінкою (потребує масштабування та панорамування на маленьких екранах) | Чудове адаптивне перенесення тексту | Спеціально розроблено для зручного читання електронних книжок на мобільних пристроях | Вбудована адаптивна верстка з медіазапитами CSS |
| Стандартизація | Відкритий міжнародний стандарт (ISO 32000-2:2020) | ECMA-376 / ISO/IEC 29500 | Відкритий стандарт W3C / IDPF | Стандарт, що постійно розвивається W3C / WHATWG |
Типові режими пошкодження та посібник з відновлення в шістнадцятковому форматі
Acrobat або програма для перегляду PDF повідомляє: «Файл пошкоджено, і його не вдалося відновити», або відкриває повністю порожній документ.
Першопричина: Передача через FTP або HTTP в режимі ASCII перетворила двійкові послідовності байтів (замінивши 0x0A на 0x0D 0x0A), пошкодивши зсуви байтів таблиці перехресних посилань (xref).
Відновлення: Сучасні утиліти для відновлення PDF (наприклад, qpdf --repair або засіб відновлення File2File.app) сканують файл лінійно, перебудовують словник об'єктів та генерують нову таблицю xref.
Програма перегляду PDF не завантажує документ або аварійно завершує роботу на останній сторінці.
Першопричина: Неповне завантаження або незавершений запис на диск, через який втрачено маркер «%%EOF» і словник трейлера.
Відновлення: Перевірте кінець файлу за допомогою 'tail -c 128 document.pdf'. Якщо маркер %%EOF відсутній, перевірте, чи існує об'єкт кореневого каталогу, і додайте штучну таблицю xref, яка вказує на найбільший дійсний номер об'єкта.
Вбудовані шрифти відображаються як нерозбірливі символи, порожні блоки (.notdef) або знаки питання.
Першопричина: Невбудовані підмножини шрифтів, які посилаються на відсутні на комп'ютері для перегляду системні шрифти, або пошкоджені таблиці ToUnicode CMap.
Відновлення: Повторно вбудуйте відсутні підмножини шрифтів через Ghostscript (gs -o fixed.pdf -sDEVICE=pdfwrite -dEmbedAllFonts=true broken.pdf) або перетворіть текстові елементи у векторні криві.
Аналіз безпеки та векторів атак на парсери
PDF: це один із найскладніших форматів у обчислювальній техніці, що містить активні сценарії, вбудовані файли та динамічні потоки. Сучасні браузери запускають засоби відображення PDF (наприклад, Chrome PDFium) в ізольованих процесах.
Відомі вектори атак
- Вбудований JavaScript Acrobat (JS API), за допомогою якого під час відкриття документа виконується довільний код або здійснюються фішингові атаки.
- Дії запуску (/Launch), налаштовані на виконання зовнішніх бінарних файлів системи або сценаріїв оболонки.
- Вразливості рендерингу шрифтів у застарілих механізмах синтаксичного аналізу шрифтів Type 1 та TrueType, що викликають переповнення буфера.
- Підробка запитів на стороні сервера (SSRF) і викрадення облікових даних через хеші NTLM за допомогою зловмисних URI-дій (/URI) або надсилання форм.
Рекомендації щодо захисту: Не відкривайте неперевірені PDF-файли з увімкненим виконанням JavaScript в Adobe Acrobat. Для перегляду в інтернеті використовуйте засоби WebAssembly/PDF.js, ізольовані в браузері, або перетворюйте неперевірені PDF на очищені документи PDF/A-1b.
Історичне походження та віхи
Основні переваги
- Формат призначений для збереження макета сторінки в різних системах, хоча вигляд може залежати від шрифтів, переглядача та параметрів друку.
- Підтримує цифрові криптографічні підписи, анотації для приховування вмісту та дозволи доступу DRM.
- Може містити векторну графіку, шрифти та стиснені растрові потоки; шрифти й інші ресурси вбудовуються не завжди.
Технічні обмеження та недоліки
- Полотно фіксованого макета сторінки ускладнює автоматичне адаптивне форматування на маленьких смартфонах.
- Складна ієрархія внутрішніх потоків об’єктів може призвести до надмірного розміру файлів без їх ущільнення та видалення об’єктів, на які немає посилань.
- Вбудований JavaScript і можливості динамічних дій запуску створюють широку поверхню для атак.
Цікаві технічні факти
- У початковій статті проєкту Camelot йшлося про електронний друк документів із будь-якої програми безпосередньо на будь-який дисплей.
- Кожен файл PDF закінчується точним рядком «%%EOF», який позначає трейлер кінця файлу.
- Деякі суди й архівні установи визначають PDF/A для процесів збереження; вимоги залежать від юрисдикції та установи.
Поширені технічні запитання
Чому сторінки PDF можуть виглядати подібно на різних екранах і принтерах?
PDF зберігає вміст сторінки з фіксованими координатами, що допомагає зберегти макет. Вигляд може залежати від шрифтів, переглядача, керування кольором і параметрів принтера.
У чому різниця між стандартним PDF та PDF/A?
PDF/A (ISO 19005): це спеціалізована підмножина, розроблена для довгострокового архівування. Вона суворо забороняє функції, які можуть поставити під загрозу майбутню читабельність, такі як JavaScript, зовнішні посилання на шрифти, шифрування, вбудовування звуку/відео та колірні простори, залежні від пристрою. Усі шрифти та колірні профілі мають бути вбудовані на 100%.
Як працює стиснення PDF у сучасних документах?
PDF використовує окремі фільтри стиснення, пристосовані до різних типів вмісту. Текст, векторні команди та метрики шрифтів стискаються за допомогою FlateDecode (zlib/deflate). Для фотографій використовують DCTDecode (JPEG) або JPXDecode (JPEG 2000), а для чорно-білого сканованого тексту: стиснення JBIG2 або CCITT Fax Group 4.
Чому файл PDF часто залишається великим навіть після видалення сторінок або зображень?
Під час зміни PDF багато редакторів виконують «інкрементне оновлення»: додають нові потоки об’єктів і нову таблицю xref у кінець файлу, не видаляючи старих об’єктів, що дає змогу швидко скасувати зміни. Щоб справді зменшити розмір файлу, документ потрібно оптимізувати, видаливши об’єкти, на які немає посилань.
Пов'язані пари конвертації PDF
Перетворіть кожну сторінку PDF на зображення JPG, яке можна опублікувати, надіслати в чаті чи вставити в слайд. Сторінки відображаються з роздільною здатністю 150 dpi, а PDF з кількома сторінками дає ZIP з одним JPG на сторінку.
Збережіть кожну сторінку PDF як зображення PNG без втрат, достатньо чітке для тексту, таблиць і діаграм. Сторінки відображаються з роздільною здатністю 150 dpi, а багатосторінковий PDF дає архів ZIP із одним файлом PNG на кожну сторінку.
Поділіться скріншотом або діаграмою у форматі PNG як односторінковим PDF зі збереженням пікселів та прозорості. Сторінка PDF є фіксованим зображенням, а не редагованим файлом PNG.
Розмістіть фотографію JPEG на одній сторінці PDF для перегляду або друку. Її наявні дані зображення вбудовуються, але PDF не надає елементів керування редагуванням фотографій.
Створіть односторінковий PDF із графіки WebP для документа або раунду узгодження. Браузер перемальовує її як зображення, тому дані та анімація WebP не зберігаються.
Поділіться логотипом або ілюстрацією SVG як односторінковим PDF. Його масштабовані контури перетворюються на зображення з фіксованою роздільною здатністю, тому збільшення масштабу не відновлює векторну деталізацію.
Перетворіть звичайну фотографію HEIC на односторінковий PDF для надсилання чи заповнення форм. Сторінка використовує 8-бітні дані зображення та не містить послідовностей HEIC або вихідних даних HDR.
Розмістіть веб-зображення AVIF на одній сторінці PDF для перевірки кампанії. Воно відтворюється на стандартному графічному полотні, тому кодування AVIF та додаткові дані HDR втрачаються.