- PVSM.RU - https://www.pvsm.ru -
В нашем блоге мы уже обсуждали специфику стандартов DjVu [1], FB2 и FB3 [2]. Сегодня рассказываем про формат PDF, который стал воплощением мечты о «безбумажном офисе».
[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 очень похож на тот, что использовался [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-файлов является тот факт, что все страницы выглядят именно так, как их задумал автор документа. Формат сохраняет [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]). Они дают возможность рассмотреть все детали чертежей и иллюстраций в оригинальном размере и подойдут тем, кому часто приходится читать техническую литературу. Однако стоимость таких гаджетов довольно высока.
На фото: 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-экосистема в ближайшие годы выйдет на новый уровень взаимодействия с пользователем.
Автор: 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
Нажмите здесь для печати.