PDF документ (.pdf)
ISO СтандартФорматът за преносими документи (PDF) е широко разпространен стандарт за цифрови документи, създаден да представя документи последователно, независимо от приложния софтуер, хардуера и операционните системи.
Конвертиране от PDF към JPG
Безплатен конвертор от PDF към JPG в браузъра. Конвертирайте файлове незабавно на вашето устройство.
Компресирайте PDF онлайн
Поверително - файловете никога не напускат устройството ви
Проверка и метаданни
Операционните системи и файловите анализатори идентифицират PDF файлове чрез проверка на началната двоична байтова последователност:
Байтов подпис на заглавката (сигнатурни байтове)
Операционните системи и файловите анализатори идентифицират PDF файлове чрез проверка на началната двоична байтова последователност:
HEX ПОДПИС (ОФСЕТ 0):
25 50 44 46ASCII ПРЕДСТАВЯНЕ: %PDF
Стандартизация: ISO 32000-1 (2008) / ISO 32000-2 (2020)
Технически спецификации
| Контейнерна архитектура | Бинарна/ASCII хибридна обектна йерархия с таблица с препратки |
| Компресия | Филтри FlateDecode (Deflate), DCTDecode (JPEG), факс CCITT, JBIG2 и JPXDecode |
| Поредност на байтовете (Endianness) | Ред от старшия към младшия байт (Big-Endian, мрежов ред на байтовете) за бинарните обектни потоци |
| Цветови пространства | sRGB, Display P3, DeviceCMYK, Сива скала, Спот цветове (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' и речникът за трейлъра (trailer).
Възстановяване: Проверете края на файла с помощта на 'tail -c 128 document.pdf'. Ако липсва %%EOF, проверете дали съществува кореновият обект на каталога (root catalog) и добавете изкуствена xref таблица, сочеща към най-високия валиден номер на обект.
Вградените шрифтове се изобразяват като нечетливи символи, празни блокчета (.notdef) или въпросителни знаци.
Първопричина: Невградени подмножества на шрифтове, препращащи към системни шрифтове, които липсват на компютъра за преглед, или повредени ToUnicode CMap таблици.
Възстановяване: Вградете отново липсващите подмножества от шрифтове чрез Ghostscript (gs -o fixed.pdf -sDEVICE=pdfwrite -dEmbedAllFonts=true broken.pdf) или преобразувайте текстовите елементи във векторни криви.
Анализ на сигурността и вектори на атака към парсера
PDF поддържа функции като активно скриптиране, вградени файлове и компресирани потоци от обекти, които програмите за четене трябва безопасно да обработват. Браузърните програми за преглед на PDF може да използват пясъчник, за да изолират обработката на документа.
Известни вектори на атака
- Вграден Acrobat JavaScript (JS API), изпълняващ произволен код или фишинг експлойти при отваряне на документа.
- Действия при стартиране (/Launch), конфигурирани да изпълняват външни системни двоични файлове или шел скриптове.
- Уязвимости при изобразяване на шрифтове в остарели двигатели за анализ на шрифтове Type 1 и TrueType, задействащи препълване на буфера.
- Фалшифициране на заявки от страна на сървъра (SSRF) и кражба на пълномощия за NTLM хеш чрез злонамерени URI действия (/URI) или изпращане на формуляри.
Най-добри практики за защита: Никога не отваряйте ненадеждни PDF файлове с активирано изпълнение на Adobe Acrobat JavaScript. За уеб преглед винаги правете визуализация чрез защитените в пясъчник механизми 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 таблица в края на файла, без да изтриват старите обекти, което позволява бърза отмяна на действията (undo). За действително намаляване на размера на файла, документът трябва да премине през оптимизация, която извършва събиране на паметта (garbage collection) на нереферираните обекти.
Свързани двойки за конвертиране на 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 данни се губят.