Portable Document Format
18.08.2023Portable Document Format (PDF) — межплатформенный открытый формат электронных документов, изначально разработанный фирмой Adobe Systems в 1992 году с использованием ряда возможностей языка PostScript. В первую очередь предназначен для представления полиграфической продукции в электронном виде. Для просмотра существует множество программ, а также официальная бесплатная программа Adobe Reader. Значительное количество современного профессионального печатного оборудования имеет аппаратную поддержку формата PDF, что позволяет производить печать документов в данном формате без использования какого-либо программного обеспечения. Традиционным способом создания PDF-документов является виртуальный принтер, то есть документ как таковой готовится в своей специализированной программе — графической программе или текстовом редакторе, САПР и т. д., а затем экспортируется в формат PDF для распространения в электронном виде, передачи в типографию и т. п.
PDF с 1 июля 2008 года является открытым стандартом ISO 32000.
Формат 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
Эти шрифты можно использовать без внедрения в документ, так как их должны правильно отображать все программы. Любые другие шрифты, которые не были внедрены в документ производителем и отсутствуют в системе у зрителя, будут заменены одним из имеющихся, что может стать причиной неправильного отображения страниц, количества символов в строке и других ошибок отображения, связанных с метрикой шрифта.
Существует технология MRC (Mixed Raster Content), которая приближает возможности PDF к возможностям формата DjVu по хранению сканированных изображений с текстом.
Редактирование PDF
Существуют специальные программы, позволяющие редактировать PDF-файлы, однако их выбор значительно меньше, чем программ для создания или просмотра PDF-документов. Inkscape, начиная с версии 0.46, позволяет редактировать PDF благодаря использованию на промежуточном этапе программы Poppler. В 2017 году функциональность по редактированию PDF была поддержана в российской программе ABBYY FineReader, ранее специализировавшейся только на распознавании и конвертировании PDF в другие форматы.
История
В первое время существования данный формат был крайне непопулярен:
- программное обеспечение компании 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
Создание
- PdfTeX (pdflatex) из популярного мега пакета LaTeX — макрорасширений системы компьютерной вёрстки TeX.
- OpenOffice Writer
- LibreOffice Draw
- Microsoft Word 2007 SP2 и новее
- Xara Designer Pro+
Чтение
Свободные:
- MuPDF
- Evince
- Okular
- KPDF (разработка прекращена)
- SumatraPDF
- Mozilla Firefox
- Atril Document Viewer
- Xpdf
- Ghostview из пакета Ghostscript
Проприетарные:
- Браузеры, основанные на Chromium (Google Chrome, Microsoft Edge, Яндекс.Браузер)
- Adobe Reader (частично)
- ABBYY FineReader
- Foxit Reader
- PDF-XChange Viewer
- PDFMaster
- STDU Viewer
- Nitro Reader
Редактирование
Свободные:
- PDFmod (только Linux-системы)
- PDFsam
- OpenOffice Writer
- LibreOffice Draw
- Pdftk
Проприетарные:
- Adobe Acrobat
- ABBYY FineReader
- Master PDF Editor
- Microsoft Word 2013 и новее
- FlexiPDF
- PDF-XChange Viewer (частично)
- Foxit PhantomPDF
- Nitro Pro
- Icecream PDF Editor
- Foxit Reader
- Master PDF Editor
Библиотеки для работы с PDF
C
Свободные:
- Haru
Проприетарные:
- Adobe PDF Library SDK
C++
Свободные:
- PoDoFo
- Poppler
- QPDF
Java
Свободные:
- Apache PDFBox — создание документов, слияние или разделение документа(ов), извлечения текста или другого контента из документа, печать, электронная подпись.
- ICEpdf — просмотр и печать документов, преобразование в изображение, извлечения контента, поиск в документе.
- IText — это библиотека классов для генерации, анализа и изменения документов в форматах PDF, а также XML, HTML и RTF.
Проприетарные:
- jPedal — просмотр и обработка документов, извлечения контента.
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 или графические файлы.