Portable Document Format (PDF) — межплатформенный открытый формат электронных документов, изначально разработанный фирмой Adobe Systems в 1992 году с использованием ряда возможностей языка PostScript. В первую очередь предназначен для представления полиграфической продукции в электронном виде. Для просмотра существует множество программ, а также официальная бесплатная программа Adobe Reader. Значительное количество современного профессионального печатного оборудования имеет аппаратную поддержку формата PDF, что позволяет производить печать документов в данном формате без использования какого-либо программного обеспечения. Традиционным способом создания PDF-документов является виртуальный принтер, то есть документ как таковой готовится в своей специализированной программе — графической программе или текстовом редакторе, САПР и т. д., а затем экспортируется в формат PDF для распространения в электронном виде, передачи в типографию и т. п.

Portable Document Format
Расширение .pdf
MIME-тип application/pdf
application/x-pdf
application/x-bzpdf
application/x-gzpdf
Сигнатура %PDF
Разработчик Adobe Systems, ISO
Опубликован 15 июня 1993
Последний выпуск 2.0
Тип формата Электронный документ
Расширен из PostScript
Развит в PDF/A, PDF/X, PDF/E, PDF/UA, PDF/VT
Стандарт(ы) ISO 32000-2
Открытый формат? Да
Сайт iso.org/standard/75839.h…
Логотип Викисклада Медиафайлы на Викискладе

PDF с 1 июля 2008 года является открытым стандартом ISO 32000[1][2].

Формат PDF позволяет внедрять необходимые шрифты (построчный текст), векторные и растровые изображения, формы и мультимедиавставки. Поддерживает RGB, CMYK, Grayscale, Lab, Duotone, Bitmap, несколько типов сжатия растровой информации. Имеет собственные технические форматы для полиграфии: PDF/X-1a, PDF/X-3. Включает в себя механизм электронных подписей для защиты и проверки подлинности документов. В этом формате распространяется большое количество сопутствующей документации.

Общие сведения править

Чаще всего PDF-файл является комбинацией текста с растровой и векторной графикой, реже — текста с формами, сценариями на языке JavaScript, 3D-графикой и другими типами элементов.

Информационные объёмы двух одинаково выглядящих на экране PDF-документов могут значительно различаться в зависимости от:

  • внедрения или связывания шрифтов и мультимедиа;
  • разрешения растровых изображений;
  • использования встроенного механизма сжатия всего документа;
  • используемых алгоритмов сжатия растровых изображений.

Для создания документа минимального объёма необходимо использовать векторную графику и «безопасные» шрифты. Всего имеется 14 таких шрифтов:

  • Times (v3) (обычный, курсив, полужирный и полужирный курсив)
  • Courier (обычный, наклонный, полужирный и полужирный наклонный)
  • Helvetica (v3) (обычный, наклонный, полужирный и полужирный наклонный)
  • Symbol
  • Zapf Dingbats[en]

Эти шрифты можно использовать без внедрения в документ, так как их должны правильно отображать все программы. Любые другие шрифты, которые не были внедрены в документ производителем и отсутствуют в системе у зрителя, будут заменены одним из имеющихся, что может стать причиной неправильного отображения страниц, количества символов в строке и других ошибок отображения, связанных с метрикой шрифта.

Существует технология MRC (Mixed Raster Content), которая приближает возможности PDF к возможностям формата DjVu по хранению сканированных изображений с текстом[3].

Ограничения формата править

В спецификации формата PDF размер страницы документа не ограничен, однако референсная программа для работы с файлами PDF — Adobe Acrobat — такое ограничение имеет. Ограничения имеются и в других программах, обрабатывающих файлы PDF[4][5].

Размер страницы в документе PDF устанавливается параметром MediaBox раздела Page, а начиная с PDF 1.6 на размер страницы также влияет параметр UserUnit. (В спецификациях PDF до версии 1.6 размер базовой единицы пользовательского пространства задан в 1/72 дюйма. Начиная с версии 1.6 в стандарте появилась возможность задать её размер с помощью параметра UserUnit. )[4][5].

В Adobe Acrobat 7.0 размер стороны страницы в документе ограничен 15 миллионами дюймов, что равно 381 километру. Это ограничение является вторичным, оно основано на ограничению размера базовой единицы пользовательского пространства (англ. default user space unit) — параметра «UserUnit», максимальное значение которого составляет 75000 единиц по 1/72 дюйма[4][5].

В Acrobat Reader до версии 4.0 минимальный размер стороны страницы составляет 1 дюйм (72 единицы), а максимальный размер равен 45 дюймам (3240 единиц)[4][5].

В версиях Acrobat 5.0 и 6.× допустимые размеры сторон страницы составляют от приблизительно 0,04 дюйма (3 единицы, 1/24 дюйма) до 200 дюймов (14400 единиц)[4][5].

Acrobat Reader версии 7.0 поддерживает спецификацию PDF 1.6, эта версия программы поддерживает диапазон значений параметра UserUnit от 1 до 75000, что ограничивает стороны страницы диапазоном от 1/72 дюйма до 15 млн дюймов, максимальный размер стороны страницы при этом равен 381 километру[4][5].

Поставляемое с macOS приложение Preview вообще не обрабатывает параметр UserUnit файла PDF и воспринимает все документы PDF как будто в них единица пользовательского пространства равна 1/72 дюйма[4][5].

Редактирование PDF править

Существуют специальные программы, позволяющие редактировать PDF-файлы, однако их выбор значительно меньше, чем программ для создания или просмотра PDF-документов.[источник не указан 25 дней]

Inkscape, начиная с версии 0.46, позволяет импортировать PDF и экспортировать в него благодаря использованию на промежуточном этапе программы Poppler[6].

В 2017 году функциональность по редактированию PDF была включена в программу ABBYY FineReader, до этого имеющей функции распознавания и конвертирования PDF в другие форматы[7].

История править

В первое время существования данный формат был крайне непопулярен:

  • программное обеспечение компании Adobe для чтения и создания PDF было платным;
  • в PDF отсутствовала поддержка внешних ссылок, что делало его практически бесполезным во всемирной паутине;
  • PDF-документы были большего размера по сравнению с обычным текстом, что означало более длительную загрузку на медленных модемах, широко использовавшихся в те времена;
  • на слабых машинах отображение PDF-документов осуществлялось с заметными задержками;
  • существовало несколько конкурирующих форматов, таких, как Envoy, Common Ground Digital Paper, Farallon Replica; даже собственный PostScript являлся конкурентом.

После того как Adobe выпустила бесплатную версию Acrobat Reader (позднее переименованную в Adobe Reader) для чтения PDF-документов, популярность этого формата стала возрастать. Формат PDF-файлов несколько раз изменялся и продолжает эволюционировать. Существует несколько спецификаций формата, последовательно расширяющих друг друга. Для каждой новой спецификации создаются новые версии программного обеспечения из пакета Adobe Acrobat. Ниже показана таблица соответствий версий документов и версий программ, в которых впервые была введена поддержка этих документов. Версию любого PDF-документа можно узнать по первым восьми байтам, открыв этот документ в текстовом режиме, например в блокноте.

Версии Adobe PDF править

Хронология спецификаций PDF
Год Версия документа Новые возможности Версия ПО
1993 PDF 1.0 Acrobat 1.0
1994 PDF 1.1 пароли, ссылки, потоки, независимая от устройства цветопередача Acrobat 2.0
1996 PDF 1.2 интерактивные элементы, обработка событий мыши, мультимедийные типы, Юникод, улучшенное представление цвета и графики Acrobat 3.0
1999 PDF 1.3 цифровые подписи, цветовые пространства ICC и DeviceN, JavaScript Acrobat 4.0
2001 PDF 1.4 JBIG2, прозрачность, текстовый слой OCR Acrobat 5.0
2003 PDF 1.5 JPEG 2000, связанное мультимедиа, объектные потоки, перекрестные потоки, слои Acrobat 6.0
2005 PDF 1.6 внедренное мультимедиа, 3D, XML-формы, AES-шифрование Acrobat 7.0
2006 PDF 1.7 Acrobat 8.0
2008 PDF 1.7, AEL3 AES-шифрование 256-битным ключом Acrobat 9.0
2009 PDF 1.7, AEL5 XFA 3.0 Acrobat 9.1
2011 PDF 1.7, AEL8 Acrobat X (10)

Программы для работы с PDF править

Создание править

Чтение править

Свободные:

Проприетарные:

Редактирование править

Свободные:

Проприетарные:

Библиотеки для работы с PDF править

C править

Свободные:

  • Haru

Проприетарные:

  • Adobe PDF Library SDK

C++ править

Свободные:

Java править

Свободные:

  • Apache PDFBox[en] — создание документов, слияние или разделение документа(ов), извлечения текста или другого контента из документа, печать, электронная подпись.
  • ICEpdf — просмотр и печать документов, преобразование в изображение, извлечения контента, поиск в документе.
  • IText — это библиотека классов для генерации, анализа и изменения документов в форматах PDF, а также XML, HTML и RTF.

Проприетарные:

  • jPedal[en] — просмотр и обработка документов, извлечения контента.

Perl править

Свободные модули:

  • PDF::API2 — этот модуль может создавать, модифицировать и просматривайте файлы PDF.
  • PDF::Create — этот модуль позволяет создавать PDF-документы с использованием ряда примитивов. Результатом является PDF-файл или поток.
  • CAM::PDF — этот модуль читает и записывает любой документ, соответствующий спецификации PDF, предоставленной Adobe.
  • Text::PDF — этот модуль позволяет напрямую взаимодействовать с существующими файлами PDF.
  • PDF::Tiny — этот модуль очень легкий (ограниченный) анализатор PDF.
  • PDF — библиотека для доступа к PDF и управления им в Perl.
  • и многие другие CPAN search PDF.

PHP править

Свободные:

  • pdfparser — библиотека PHP для синтаксического анализа PDF файлов и извлечения таких элементов, как текст.
  • mPDF — это библиотека PHP, которая создает PDF-файлы из HTML-кода UTF-8.
  • PHPPdf — это библиотека, которая преобразует документ XML в документ PDF или графические файлы.

Примечания править

  1. Формат PDF стал международным стандартом Архивная копия от 20 февраля 2008 на Wayback Machine — lenta.ru
  2. ISO Ballot for PDF 1.7 Passed! — blogs.adobe.com Архивная копия от 14 ноября 2017 на Wayback Machine (англ.)
  3. Как технология MRC уменьшает размер PDF-документов. Дата обращения: 27 октября 2011. Архивировано 3 ноября 2011 года.
  4. 1 2 3 4 5 6 7 Chan, A. W. Making a PDF that’s larger than Germany : [англ.] : [арх. 31 января 2024]. — 2024. — 31 January.
  5. 1 2 3 4 5 6 7 Чан, А. Создание PDF размером с Германию = Making a PDF that’s larger than Germany / Пер. с англ.: Дмитрий Брайт // RuVDS. — 2024. — 16 февраля.
  6. Bah, T. Inkscape : Guide to a Vector Drawing Program. — 4th ed. — Prentice Hall, 2011. — P. 112–113. — 473 p. — ISBN 978-0-13-276414-8.
  7. Крупин, А. Четыре в одном: обзор нового ABBYY FineReader 14 : [арх. 24 октября 2018] // 3DNews.

Ссылки править