PDF (Portable Document Format) – это формат файла, который используется для представления электронных документов в удобном для просмотра и распространения виде. Язык PDF обеспечивает возможность сохранить форматирование и оригинальный вид документа независимо от программы или устройства, на котором он открывается. PDF-файлы могут содержать текст, изображения, графику, аудио и видео. Язык PDF довольно прост в использовании и распространен в различных областях, таких как бизнес, образование и научные исследования.
В первую очередь предназначен для представления полиграфической продукции в электронном виде. Для просмотра существует множество программ, а также официальная бесплатная программа Adobe Reader. Значительное количество современного профессионального печатного оборудования имеет аппаратную поддержку формата PDF, что позволяет производить печать документов в данном формате без использования какого-либо программного обеспечения. Традиционным способом создания PDF-документов является виртуальный принтер, то есть документ как таковой готовится в своей специализированной программе — графической программе или текстовом редакторе, САПР и т. д., а затем экспортируется в формат PDF для распространения в электронном виде, передачи в типографию и т. п.
Чаще всего PDF-файл является комбинацией текста с растровой и векторной графикой, реже — текста с формами, сценариями на языке JavaScript, 3D-графикой и другими типами элементов.
Информационные объёмы двух одинаково выглядящих на экране PDF-документов могут значительно различаться в зависимости от:
- внедрения или связывания шрифтов и мультимедиа;
- разрешения растровых изображений;
- использования встроенного механизма сжатия всего документа;
- используемых алгоритмов сжатия растровых изображений.
Для создания документа минимального объёма необходимо использовать векторную графику и «безопасные» шрифты. Всего имеется 14 таких шрифтов:
- Times (v3) (обычный, курсив, полужирный и полужирный курсив);
- Courier (обычный, наклонный, полужирный и полужирный наклонный);
- Helvetica (v3) (обычный, наклонный, полужирный и полужирный наклонный);
- Symbol;
- Zapf Dingbats.
Эти шрифты можно использовать без внедрения в документ, так как их должны правильно отображать все программы. Любые другие шрифты, которые не были внедрены в документ производителем и отсутствуют в системе у зрителя, будут заменены одним из имеющихся, что может стать причиной неправильного отображения страниц, количества символов в строке и других ошибок отображения, связанных с метрикой шрифта.
Существует технология MRC (Mixed Raster Content), которая приближает возможности PDF к возможностям формата DjVu по хранению сканированных изображений с текстом.
Разработано множество библиотек для работы с документами формата PDF для самых разных языков программирования:
Java
Свободные:
- Apache PDFBox — создание документов, слияние или разделение документа(ов), извлечения текста или другого контента из документа, печать, электронная подпись из Java.
- ICEpdf — просмотр и печать документов, преобразование в изображение, извлечения контента, поиск в документе.
- IText — это библиотека классов для генерации, анализа и изменения документов в форматах PDF, а также XML, HTML и RTF.
Проприетарные:
- jPedal — просмотр и обработка документов, извлечения контента.
Perl
Свободные модули:
- PDF::API2 — этот модуль может создавать, модифицировать и просматривайте файлы PDF с помощью PERL.
- PDF::Create — этот модуль позволяет создавать PDF-документы с использованием ряда примитивов. Результатом является PDF-файл или поток.
- CAM::PDF — этот модуль читает и записывает любой документ, соответствующий спецификации PDF, предоставленной Adobe.
- Text::PDF — этот модуль позволяет напрямую взаимодействовать с существующими файлами PDF.
- PDF::Tiny — этот модуль очень легкий (ограниченный) анализатор PDF.
- PDF — библиотека для доступа к PDF и управления им в Perl.
- и многие другие CPAN search PDF.
PHP
Свободные: