PDFSub
ЦениAPIMergeCompressEditE-SignБанкови извлеченияБлог
Обратно към блога
РъководствоPDF ФорматPDF СтандартиPDF/APDF/XPDF/UAАнатомия

PDF Файлов Формат Обяснен: Анатомия, Слоеве и Стандарти

16 май 2026 г.
T
Todd Lahman
Founder, PDFSub

Какво всъщност има в един PDF? Обяснена диаграма с етикети, покриваща четирите физически секции (заглавие, тяло, xref, трейлър), шестте слоя съдържание (текст, изображения, шрифтове, анотации, вектори, подписи), метаданни и ISO стандартите (PDF/A, PDF/X, PDF/UA, PDF/E, PDF/VT), изградени върху основата.


Един PDF не е едно цяло. Той е двоичен контейнер със специфична структура на диска, набор от слоеве съдържание, подредени в този контейнер, и семейство от ISO стандарти, изградени върху основната спецификация. Отворете един в хекс редактор и структурата се вижда в чист текст в първите няколко реда. Отворете един във визуализатор и слоевете се рендират заедно като една страница.

Това ръководство е референтен материал с етикети: физическата структура на файла, слоевете съдържание, които тялото държи, метаданните, които обграждат всичко, и стандартите (PDF/A, PDF/X, PDF/UA, PDF/E, PDF/VT), които го ограничават за специфични случаи на употреба.

Anatomy of a PDF file: header, body objects, cross-reference table, trailer, content layers, and metadata

Искате ли да използвате тази диаграма в блога си? Копирайте този код за вграждане:


Четирите Физически Секции

Всеки PDF на диска има еднаква четири-частна структура, в този ред:

1. Заглавие (Header)

Първият ред на файла. Винаги започва с %PDF- последвано от номер на версия:

%PDF-1.7

Версиите варират от 1.0 (издадена 1993 г.) до 2.0 (издадена 2017 г., актуална). Заглавието е последвано от коментарен ред с двоични байтове, които сигнализират на FTP и други транспортни инструменти, че това е двоичен файл.

2. Тяло - Непреки обекти (Body - Indirect Objects)

Основната част на файла. Всяка страница, шрифт, изображение и анотация са номерирани непреки обекти:

1 0 obj
<< /Type /Catalog /Pages 2 0 R >>
endobj
 
2 0 obj
<< /Type /Pages /Kids [3 0 R] /Count 1 >>
endobj
 
3 0 obj
<< /Type /Page /Parent 2 0 R /Contents 4 0 R /Resources << ... >> >>
endobj

Всеки обект има ID (числото преди 0 obj), номер на генерация (0, използван за инкрементални актуализации) и полезен товар между << и >> за речници или stream и endstream за двоични потоци (данни от изображения, данни от шрифтове, компресирано съдържание).

Обектите се реферират един друг със синтаксиса <id> <gen> R (напр. 3 0 R означава "обект 3, генерация 0"). Така страницата реферира шрифта, който използва, или каталогът реферира корена на дървото от страници.

3. Таблица за кръстосани препратки (xref)

Таблица за търсене по байтов отместване. За всеки обект в тялото, xref записва неговата абсолютна байтова позиция във файла:

xref
0 6
0000000000 65535 f
0000000017 00000 n
0000000089 00000 n
0000000172 00000 n
0000000299 00000 n
0000000453 00000 n

Това прави PDF файловете достъпни чрез произволен достъп. Визуализаторът може да прочете xref, да скочи директно до байтовото отместване на обект 3 и да рендира тази страница, без да парсва останалата част от файла. Затова PDF файловете на една глава се отварят мигновено, дори когато изходният файл е 500 страници.

4. Трейлър (Trailer)

Последната секция. Казва на парсера къде да намери xref и кой обект е коренът:

trailer
<< /Size 6 /Root 1 0 R /Info 7 0 R >>
startxref
1893
%%EOF

Стойността startxref е байтовото отместване на xref таблицата. Маркерът %%EOF е буквалният край на файла. Трейлърите правят възможни инкременталните актуализации: добавянето на нов xref + трейлър в края позволява добавяне на обекти без пренаписване на целия файл.


Шестте Слоеве Съдържание

Вътре в тялото съдържанието се съхранява в шест типа слоеве. Всяка рендирана PDF страница е композиция от тези слоеве:

1. Текст

Команди за позиция на глифове и референции към шрифтове, а не текстови низове. PDF съхранява инструкции като "нарисувай глиф 42 от шрифт F3 на позиция (120, 540)", а не "нарисувай буквата А тук". Затова текстът е избираем и търсим: визуализаторът обратно картографира ID-тата на глифовете към Unicode кодови точки чрез ToUnicode карта (или CMap за CJK шрифтове).

Когато на текст му липсва ToUnicode карта, получавате класическия проблем "PDF с избираем текст, който се копира като боклук". Текстът е видим, но картата глиф-към-Unicode е счупена или липсва.

2. Изображения

Съхраняват се като вградени потоци в един от няколко формата:

  • JPEG (DCTDecode филтър): снимки, най-често срещани
  • JPEG2000 (JPXDecode): по-висока компресия, по-рядко
  • PNG-еквивалент (FlateDecode + Predictor): скрийншоти, векторни графики
  • CCITT Group 4 (CCITTFaxDecode): черно-бели сканирани текстове, използвани в архивни сканирания
  • JBIG2 (JBIG2Decode): двуцветни изображения, често в OCR-ирани документи

Изображенията могат да бъдат намалени, прекомпресирани или заменени, без да засягат друго съдържание.

3. Шрифтове

Вградени като пълни програмни шрифтове, подмножество (включени само използваните глифове) или реферирани по име (трябва да са инсталирани на системата на визуализатора). Подмножеството е по подразбиране - то драстично намалява размера на файла. Поддържани формати на шрифтове: Type1, TrueType, OpenType и CIDFont (за CJK).

Когато шрифт е рефериран, но не е вграден и не е инсталиран на системата на визуализатора, визуализаторът замества подобен шрифт - което обикновено изглежда грешно. PDF/A изисква всички шрифтове да бъдат вградени, за да се предотврати това.

4. Анотации

Акценти, коментари, връзки, печати, водни знаци и полета за формуляри са всички анотации. Те се наслагват върху съдържанието на страницата и могат да бъдат добавяни, редактирани или премахвани, без да се променя основната страница.

Полетата за формуляри са специален случай: интерактивна анотация-джаджа (видимата част) плюс речник на полето (частта с данните). Когато попълните формуляр и запазите, само речниците на полетата се променят - самата страница остава недокосната.

5. Векторна Графика

Линии, форми, криви и пътеки, нарисувани с оператори, подобни на PostScript (moveto, lineto, curveto). Мащабират се безкрайно без загуба на качество. Повечето CAD експорти, диаграми и графики в PDF файлове са векторна графика.

6. Цифрови Подписи

Подписи, базирани на PKI, свързани с байтови диапазони на файла. Речникът на подписа указва "байтове от 0 до 12 547 и от 14 200 до края на файла са подписани" - малък диапазон в средата е запазен за самия подпис. Всяка промяна в подписаните байтови диапазони прави подписа невалиден, което е начинът, по който PDF открива подправяне след подписване.

Някои PDF файлове имат множество подписи, наслагвани като инкрементални актуализации - всеки подписващ подписва файла така, както е съществувал, когато го е получил, запазвайки веригата.


Метаданни: Две Паралелни Системи

PDF има две системи за метаданни, които често си противоречат:

Стандартен /Info Речник

Съхранява се в трейлъра. Полета: Title, Author, Subject, Keywords, Creator (приложението, с което потребителят е създал документа), Producer (приложението, което е генерирало PDF), CreationDate, ModDate. Чисти текстови низове, лесни за четене с всеки PDF инструмент.

XMP Метаданни Поток

Отделен XML поток (Adobe XMP, базиран на RDF/XML), който поддържа по-богати схеми: Dublin Core, IPTC, потребителски специфични схеми (цветови профили, регистрации на авторски права, версии на ръкописи).

Съвременните PDF генератори пишат и в двете. Стари PDF файлове имат само /Info. Някои PDF файлове имат остаряло /Info от предишна версия и точни XMP от скорошна редакция - или обратното. При одитиране на PDF файлове за съответствие или криминалистика, проверете и двете.


ISO Стандарти, Изградени върху PDF

Основната PDF спецификация е ISO 32000. Няколко производни стандарта ограничават PDF за специфични случаи на употреба:

Стандарт Употреба Ограничения
PDF/A Дългосрочно архивиране Всички шрифтове вградени, без JavaScript, без аудио/видео, цветови пространства, независими от устройството. Нива на съответствие: PDF/A-1, A-2, A-3 (позволява прикачени файлове)
PDF/X Печатна продукция CMYK цветове, вградени шрифтове и цветови профили, без прозрачност (PDF/X-1a) или контролирана прозрачност (PDF/X-4)
PDF/UA Достъпност Тагвано дърво на структурата, езикови метаданни, алтернативен текст за изображения, логически ред на четене
PDF/E Инженерство 3D модели (U3D, PRC формати), специфични за CAD метаданни
PDF/VT Транзакционен печат с променливи данни Оптимизиран за персонализирани пощенски пратки с голям обем

Един PDF може да отговаря на няколко стандарта едновременно - PDF/A-2u (архивиране с Unicode карта) плюс PDF/UA (достъпност) е често срещано за правителствени и правни архиви.


Линеаризирани PDF файлове (Оптимизирани за уеб)

"Линеаризиран" или "оптимизиран за уеб" PDF пренарежда тялото така, че обектите на първата страница да се появят рано във файла. Уеб визуализатор може да рендира страница 1, като изтегли само първите ~50 KB, вместо да чака целия файл. Трейлърът е дублиран в началото, плюс таблица с подсказки, която казва на визуализатора къде започва всяка страница.

Повечето съвременни PDF генератори поддържат линеаризация като опция "Запази за уеб". Форматът добавя 2-5% към размера на файла в замяна на бързо рендиране на първата страница при бавни връзки.


Криптиране и Разрешения

PDF файловете могат да бъдат криптирани с парола (или сертификати) и да им бъдат предоставени гранулирани разрешения: печат, копиране на текст, модификация, попълване на формуляри, извличане за достъпност. Криптирането се съхранява в речника /Encrypt на трейлъра.

Силата на криптирането се е развивала: RC4 40-бита (ранни PDF файлове, днес лесно разбиваеми), RC4 128-бита (все още слаби), AES-128, AES-256. Оригиналната имплементация на RC4 на Acrobat 5 беше публично разбита през 2001 г.; модерното PDF криптиране (AES-256, PDF 2.0) е здраво, когато се използва със силни пароли.

Забележка: "Разрешенията" са препоръчителни. Визуализатор, който ги уважава, ще ги наложи. Визуализатор, който ги игнорира (или инструмент, който премахва криптирането), не.


Как PDFSub Чете PDF Файлове

PDFSub обработва PDF файлове, използвайки Rust връзката на PDFium (същият двигател, който захранва PDF визуализатора на Chromium) плюс PaddleOCR за сканирани документи. За пълни архитектурни детайли и сравнение с облачни инструменти, вижте Браузър срещу Облачна Сигурност на PDF.

За конвертиране на PDF файлове в други формати, като се запазва описаната по-горе структура:

  • PDF към Excel - извлича текст + таблици, запазва координати
  • OCR PDF - добавя търсим текстов слой към сканирани PDF файлове
  • PDF към Word - преформатира текста в редактируеми параграфи
  • Компресиране на PDF - намалява размера на изображенията, подмножества на шрифтове

За работни процеси за архивиране, вижте Как да Конвертираме PDF в PDF/A.


Допълнително Четене

  • ISO 32000-2 (PDF 2.0 спецификация) - авторитетен справочник, платен достъп
  • Архиви на Adobe PDF Reference - безплатен справочник за PDF 1.7
  • PDF Association - индустриална работна група, безплатни статии и файлове за тестове за съответствие

За теми, специфични за PDF: Ръководство за PDF Съответствие за Адвокати, Ръководство за Конвертиране на PDF/A.

Обратно към блога

Въпроси? Свържете се с нас

PDFSub

Всички необходими PDF и документни инструменти на едно място. Бързо, сигурно и поверително.

Съответствие с GDPRСъответствие с CCPAГотовност за SOC 2
Задвижвано от PDFSub Engine

PDF инструменти

  • Обединяване на PDF
  • Разделяне на PDF
  • Пренареждане на страници
  • Страници на лист
  • PDF преглед
  • Извличане на страници
  • Извличане на изображения
  • Замяна на изображение
  • Завъртане на PDF
  • Изтриване на страници
  • Добавяне на воден знак
  • Редактиране на PDF
  • Печат на PDF
  • Попълване на PDF формуляри
  • Изрязване на страници
  • Промяна на размера на страницата
  • Добавяне на номера на страници
  • Заглавки и долни колонтитули
  • Компресиране на PDF
  • Направи търсим
  • Clean Scanned PDF
  • Photo to Document
  • Auto-Crop PDF
  • Поправка на PDF
  • Редактиране на метаданни
  • Премахване на метаданни
  • PDF към Word
  • Word към PDF
  • PDF to Excel
  • Excel към PDF
  • PDF към PowerPoint
  • PowerPoint към PDF
  • HTML към PDF
  • HTML to Text
  • HTML to Markdown
  • PDF към HTML
  • EPUB към PDF
  • PDF към EPUB
  • Текст към PDF
  • RTF към PDF
  • PDF към RTF
  • PDF към текст
  • ODT към PDF
  • PDF към ODT
  • ODS към PDF
  • PDF към ODS
  • ODP към PDF
  • PDF към ODP
  • Конвертиране в PDF/A
  • Създаване на PDF
  • Пакетно преобразуване
  • PDF към изображение
  • Изображение към PDF
  • PDF към PNG
  • PNG към PDF
  • HTML to PNG
  • HTML to JPEG
  • HTML to WEBP
  • SVG към PDF
  • PDF към SVG
  • TIFF към PDF
  • WEBP към PDF
  • HEIC към изображение
  • WEBP към JPG
  • WEBP към PNG
  • Image Converter
  • ODG към PDF
  • Защита с парола
  • Отключване на PDF
  • Редактиране на PDF
  • Електронен подпис на PDF
  • Share Document
  • Сравняване на PDF
  • Извличане на таблици
  • Конвертор на банкови извлечения
  • Извличане на фактури
  • Скенер за разписки
  • Анализатор на финансови отчети
  • OCR - Извличане на текст
  • Преобразуване на ръкопис
  • Обобщаване на PDF
  • Превод на PDF
  • Чат с PDF
  • Извличане на данни
  • Дизайнерско студио

Продукт

  • Всички инструменти
  • Функции
  • Банкови извлечения
  • API
  • Цени
  • ЧЗВ
  • Блог

Поддръжка

  • За нас
  • Помощен център
  • Контакт
  • ЧЗВ

Правни въпроси

  • Политика за поверителност
  • Условия за ползване
  • Политика за бисквитки

© 2026 PDFSub. Всички права запазени.

Произведено в Америка с за хора по целия свят