Portable Document Format
Portable 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
 

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

Существует технология 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+
 Wondershare PDFelement

Чтение 
Свободные:
 
 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
 Okular

Проприетарные:
 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
 Wondershare PDFelement
 PDFChef
 WordPerfect

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

C 
Свободные:
 Haru
Проприетарные:
 Adobe PDF Library SDK

C++ 
Свободные:
 PoDoFo
 Poppler
 QPDF

Java 
Свободные:
  — создание документов, слияние или разделение документа(ов), извлечения текста или другого контента из документа, печать, электронная подпись.
 ICEpdf — просмотр и печать документов, преобразование в изображение, извлечения контента, поиск в документе.
IText — это библиотека классов для генерации, анализа и изменения документов в форматах PDF, а также XML, HTML и RTF.
Проприетарные:
  — просмотр и обработка документов, извлечения контента.

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 или графические файлы.

Примечания

Ссылки 

 PDF Specifications, including the PDF Reference for PDF 1.7, PDF 1.6 (ISBN 0-321-30474-8), PDF 1.5, PDF 1.4 (ISBN 0-201-75839-3), PDF 1.3 (ISBN 0-201-61588-6)

 

Векторная графика