- PVSM.RU - https://www.pvsm.ru -

Электронные книги и их форматы: рассказываем про PDF — его историю, плюсы и минусы

В нашем блоге мы уже обсуждали специфику стандартов DjVu [1], FB2 и FB3 [2]. Сегодня рассказываем про формат PDF, который стал воплощением мечты о «безбумажном офисе».

Электронные книги и их форматы: рассказываем про PDF — его историю, плюсы и минусы - 1 [3]
/ Flickr / Kim Siever [4] / PD

Краткая история формата

Создателем PDF, или Portable Document Format, выступил Джон Уорнок (John Warnock), один из основателей Adobe, который захотел облегчить процесс распечатки текста и изображений с компьютера. В 1984 году Уорнок представил [5] язык описания страниц PostScript [6].

В «Википедии» в качестве примера приводится код на PostScript, который отрисовывает несколько слов «Wikipedia» по кругу [7].

%!PS-Adobe-1.0
% По умолчанию, постскрипт использует единицу измерения 1 пункт=1/72 дюйма,
% а нам нравятся миллиметры.
72 25.4 div           % 1 мм = 72/25.4 пунктов
dup                   % дублировать значение на вершине стека
scale                 % растянуть в это количество раз по обеим координатам
100 100 translate     % установить начало координат в (100 мм, 100 мм)

/Times-Roman findfont % взять шрифт Times-Roman
10 scalefont          % растянуть до размера 10 (у нас - мм!)
setfont               % установить выбранный шрифт

0 30 330 {            % цикл для углов от 0 до 330 с шагом 30
  gsave                 % запомнить текущее преобразование координат
    rotate              % повернуть систему координат (угол в градусах берём с вершины стека)
    15 0 moveto         % перейти в точку (15 мм, 0 мм)
    (Wikipedia) show    % написать слово текущим шрифтом
  grestore              % вернуть преобразование координат
} for                 % конец цикла for

showpage              % вывести страницу

Изначально PostScript разрабатывался как инструмент для распечатки документов на принтере, но позже Уорнок решил, что с помощью нового языка можно не только выводить документы на печать, но и полностью «оцифровать» систему документооборота.

В рамках этого видения в Adobe (основателем которой был Уорнок) создали формат IPS (расшифровывается аббревиатура как Interchange PostScript). Для работы с ним был создан Adobe Illustrator — кроссплатформенный графический редактор для Windows и Mac.

Впервые IPS показали на конференции Seybold в Сан-Хосе в 1991 году, но с таким названием формат просуществовал два года — в 1993 его переименовали в PDF. Тогда же появились Acrobat Distiller и Acrobat Reader (позднее переименованная в Adobe Reader).

Первое время PDF не пользовался популярностью. Всему виной была высокая цена на софт: Acrobat Distiller для личного пользования стоил [8] 700 долларов, а для корпоративного — 2500 долларов. За Acrobat Reader просили еще 50 долларов. Со временем Adobe снизили цены, и популярность PDF стала набирать обороты.

К началу нулевых Acrobat Reader 4.0 скачали [9] сто миллионов человек, а PDF-формат стали использовать крупные ИТ-компании, например Microsoft и Apple.

Как «работает» PDF

Базовый подход к представлению графики и текста в PDF очень похож на тот, что использовался [10] PostScript. За отображение текста на странице отвечают так называемые текстовые элементы. Они обозначают, в каком месте должны быть отрисованы символы. На «Википедии» приводится код [11] для написания Hello World:

/Courier              % Название шрифта
 20 selectfont        % Размер шрифта в пунктах

 72 500 moveto        % Установка указателя по координатам 72, 500

 (Hello world!) show  % Вывести текст в скобках
 showpage             % Отобразить его на странице

Для отрисовки векторной графики в PDF используются контуры (paths): прямые линии или кубические кривые Безье [12]. Фигуры, построенные с помощью контуров, можно залить цветом или заштриховать. Что касается растровых изображений, то их представляют в виде словарей [13] и потоков [14]. В словарях описаны свойства, а поток содержит двоичную информацию об изображении.

Размер PDF-файла зависит от разрешения картинок, параметров шрифтов, использования гиперссылок, видео и проч. До двухтысячных годов размер PDF-файлов измерялся мегабайтами, потому что большинство документов составляли из JPEG-картинок. Для решения этой проблемы в Adobe предложили технологию сжатия MRC (Mixed Raster Content [15]).

MRC «делит [16]» отсканированный файл на слои: фоновый слой, слой текста и цветовую маску. За сжатие информации, имеющейся на каждом слое, отвечает свой кодек. Например, для текста может использоваться JBIG2 [17], который формирует группы из похожих букв и составляет из них словарь. Так, одинаковые символы кодируются по одному разу, а в остальных местах используются просто ссылки на них.

Для сжатия другого контента задействуют кодеки JPEG, JPEG2000 или ZIP. С помощью них сохраняются фон изображения, цветовыделение текста, картинки и фотографии. За счет такого подхода размер каждой страницы уменьшается в два раза и более. Наглядные примеры сжатия PDF приводит компания Abbyy в их блоге на Хабре [18].

Достоинства формата PDF

Одним из главных достоинств PDF-файлов является тот факт, что все страницы выглядят именно так, как их задумал автор документа. Формат сохраняет [19] оригинальный фон, шрифты и картинки в первозданном виде, независимо от устройства или операционной системы. При этом PDF позволяет работать с интерактивными элементами: гиперссылками [20] для навигации по сноскам. Также в документ добавляются [21] медиафайлы: музыка, GIF и даже видеоролики.

При этом PDF-файл можно сделать доступным только для чтения, что помогает защитить содержимое документа от копирования и внесения изменений. Для дополнительной защиты есть возможность поставить пароль [22] или электронную подпись.

Другое достоинство формата — его доступность. Программа для чтения PDF-документа Adobe Acrobat Reader сегодня лежит [23] в сети в свободном доступе. Открывать PDF можно и на электронных книгах. Большая часть из них «умеет» работать с этим форматом по умолчанию. Его поддерживают [24] многие приложения-читалки, например, FBreader [25] или NEO Reader, установленный в устройствах ONYX BOOX [26].

Минусы формата

Неизменяемость PDF-формата, хотя и является его достоинством, также оказывается большим недостатком. Такие файлы (в особенности крупные схемы и графики, ноты, документы большого формата) сложно читать на устройствах с небольшими экранами — смартфонах, или компактных электронных ридерах. Страница просто не помещается [19] на экране устройства, или текст отображается слишком мелким.

На рынке есть электронные читалки с разрешением дисплея в 13,3 или 10,3 дюйма, что позволяет комфортно работать с листами PDF формата А4. Примерами таких гаджетов могут быть ONYX BOOX MAX 2 [27] (обзор которого мы подготовили в нашем блоге [28]), ONYX BOOX Note [29] или ONYX BOOX Gulliver [30] (на него тоже есть обзор [31]). Они дают возможность рассмотреть все детали чертежей и иллюстраций в оригинальном размере и подойдут тем, кому часто приходится читать техническую литературу. Однако стоимость таких гаджетов довольно высока.

Электронные книги и их форматы: рассказываем про PDF — его историю, плюсы и минусы - 2
На фото: ONYX BOOX MAX 2 [27]

Возникает и другая проблема с отображением страниц документов. Она связана с форматом JBIG2. Хотя кодек позволяет сжать текст в несколько раз, он подвержен влиянию проблемы «инь» (о ней мы писали в материале про DjVu [1]). При сжатии текста и составлении словаря некоторые символы заменяются на похожие (например, «и» превращается в «н»), что приводит к искажению сути текста.

С редактированием PDF-файлов также возникают проблемы, так как для этого приходится устанавливать специальные программы, которые часто платные (например, Acrobat DC [32]). В сети найдутся и бесплатные сервисы для редактирования вроде PDF2GO [33], но они позволяют лишь добавить текст или картинки «поверх» оригинального файла.

Дальнейшее развитие

Несмотря на недостатки, сегодня PDF остается популярным форматом. Маркетинговая компания HubSpot спросила [34] три тысячи посетителей своего сайта о том, что они делают с электронными книгами: читают онлайн или скачивают в PDF. Выяснилось, что 90% респондентов предпочитают скачивать PDF-файл.

Разработчики постоянно добавляют новые фичи, в том числе и для чтения на портативных гаджетах. К примеру, в начале 2018 команда Adobe снабдила [35] приложение Acrobat DC улучшенными функциями отображения и редактирования файлов на мобильных устройствах.

Кроме того, в августе появились сведения о новом проекте — PDF audible [36]. Он позволит совместить возможности PDF и функциональность голосовых помощников: Alexa, Google Home и Siri. Пока готов только прототип, но разработчики обещают выпустить рабочую версию в ближайшее время.

В Adobe следят за новыми направлениями и намерены сделать формат более интерактивным, например, добавить функции дополненной реальности. Как это будет выглядеть, пока не ясно, но разработчики обещают [36], что PDF-экосистема в ближайшие годы выйдет на новый уровень взаимодействия с пользователем.


P.S. Несколько обзоров ридеров ONYX BOOX:

Автор: IvanPavlov

Источник [40]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/adobe/304100

Ссылки в тексте:

[1] DjVu: https://habr.com/company/maccentre/blog/411545/

[2] FB2 и FB3: https://habr.com/company/maccentre/blog/411755/

[3] Image: https://habr.com/company/maccentre/blog/435042/

[4] Kim Siever: https://www.flickr.com/photos/kmsiever/5895380540/

[5] представил: http://www.peoples.ru/undertake/soft/john_warnock/

[6] PostScript: https://ru.wikipedia.org/wiki/PostScript

[7] слов «Wikipedia» по кругу: https://ru.wikipedia.org/wiki/PostScript#/media/File:PSExample.png

[8] стоил: https://www.prepressure.com/pdf/basics/history

[9] скачали: https://www.prepressure.com/pdf/basics/history/3

[10] использовался: https://en.wikipedia.org/wiki/PDF#Technical_overview

[11] код: https://en.wikipedia.org/wiki/PostScript

[12] кубические кривые Безье: https://ru.wikipedia.org/wiki/%D0%9A%D1%80%D0%B8%D0%B2%D0%B0%D1%8F_%D0%91%D0%B5%D0%B7%D1%8C%D0%B5#%D0%9A%D1%83%D0%B1%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B5_%D0%BA%D1%80%D0%B8%D0%B2%D1%8B%D0%B5

[13] словарей: https://en.wikipedia.org/wiki/Associative_array

[14] потоков: https://en.wikipedia.org/wiki/Stream_(computing)

[15] Mixed Raster Content: https://en.wikipedia.org/wiki/Mixed_raster_content

[16] делит: https://abbyy.technology/en:kb:code-sample:mrcpdf_export

[17] JBIG2: https://ru.wikipedia.org/wiki/JBIG2

[18] блоге на Хабре: https://habr.com/company/abbyy/blog/119790/

[19] сохраняет: https://www.lifewire.com/epub-vs-pdf-3467286

[20] гиперссылками: https://rottmancreative.com/blog/five-advantages-of-the-interactive-pdf-20090101

[21] добавляются: https://blogs.adobe.com/documentcloud/top-10-reasons-to-use-pdf-instead-of-word-excel-or-powerpoint/

[22] поставить пароль: https://acrobat.adobe.com/us/en/acrobat/how-to/pdf-file-password-permissions.html

[23] лежит: https://get.adobe.com/reader/otherversions/

[24] поддерживают: https://ru.wikipedia.org/wiki/Portable_Document_Format

[25] FBreader: https://ru.fbreader.org/content/fbreader-pdf-plugin

[26] установленный в устройствах ONYX BOOX: https://habr.com/company/maccentre/blog/374365/

[27] ONYX BOOX MAX 2: https://onyx-boox.ru/boox_max2

[28] в нашем блоге: https://habr.com/company/maccentre/blog/412409/

[29] ONYX BOOX Note: https://onyx-boox.ru/boox_note

[30] ONYX BOOX Gulliver: https://onyx-boox.ru/boox_gulliver

[31] есть обзор: https://habr.com/company/maccentre/blog/427737/

[32] Acrobat DC: https://acrobat.adobe.com/ru/ru/free-trial-download.html

[33] PDF2GO: https://www.pdf2go.com/ru/edit-pdf

[34] спросила: https://blog.hubspot.com/marketing/pdf-preferences-experiment

[35] снабдила: https://theblog.adobe.com/all-new-acrobat-dc-redefines-whats-possible-with-pdf/

[36] PDF audible: https://theblog.adobe.com/q-with-adobe-acrobat-engineering-interns-investigating-voice-and-pdf/

[37] Когда теорема стала аксиомой: обзор ONYX BOOX Euclid: https://onyx-boox.ru/review/ebook-onyx-boox-euclid-habr/

[38] Путешествие в страну великанов: Обзор ONYX BOOX Gulliver: https://onyx-boox.ru/review/ebook-onyx-boox-gulliver-habr/

[39] ONYX BOOX Monte Cristo 3 — мнение владельца: https://onyx-boox.ru/review/ebook-onyx-boox-montecristo3-pikabu/

[40] Источник: https://habr.com/post/435042/?utm_source=habrahabr&utm_medium=rss&utm_campaign=435042