Portable Document Format

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

Portable Document Format (PDF) — межплатформенный открытый

САПР
и т. д., а затем экспортируется в формат PDF для распространения в электронном виде, передачи в типографию и т. п.

PDF с 1 июля 2008 года является

ISO 32000[1][2]
.

Формат PDF позволяет внедрять необходимые шрифты (построчный текст),

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

Общие сведения

Чаще всего 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-документов.[источник не указан 62 дня]

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 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 Acrobat 4.0
2001 PDF 1.4
OCR
Acrobat 5.0
2003 PDF 1.5 JPEG 2000, связанное мультимедиа, объектные потоки, перекрестные потоки, слои Acrobat 6.0
2005 PDF 1.6 внедренное мультимедиа, 3D,
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 — просмотр и печать документов, преобразование в изображение, извлечения контента, поиск в документе.
  • 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.

Ссылки