PDF

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, а также XMLHTML и 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

Свободные:

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

Обсуждение закрыто.