В нашем блоге мы уже обсуждали специфику стандартов DjVu, FB2 и FB3. Сегодня рассказываем про формат PDF, который стал воплощением мечты о «безбумажном офисе».
/ Flickr / Kim Siever / PD
Создателем PDF, или Portable Document Format, выступил Джон Уорнок (John Warnock), один из основателей Adobe, который захотел облегчить процесс распечатки текста и изображений с компьютера. В 1984 году Уорнок представил язык описания страниц PostScript.
В «Википедии» в качестве примера приводится код на PostScript, который отрисовывает несколько слов «Wikipedia» по кругу.
Изначально PostScript разрабатывался как инструмент для распечатки документов на принтере, но позже Уорнок решил, что с помощью нового языка можно не только выводить документы на печать, но и полностью «оцифровать» систему документооборота.
В рамках этого видения в Adobe (основателем которой был Уорнок) создали формат IPS (расшифровывается аббревиатура как Interchange PostScript). Для работы с ним был создан Adobe Illustrator — кроссплатформенный графический редактор для Windows и Mac.
Впервые IPS показали на конференции Seybold в Сан-Хосе в 1991 году, но с таким названием формат просуществовал два года — в 1993 его переименовали в PDF. Тогда же появились Acrobat Distiller и Acrobat Reader (позднее переименованная в Adobe Reader).
Первое время PDF не пользовался популярностью. Всему виной была высокая цена на софт: Acrobat Distiller для личного пользования стоил 700 долларов, а для корпоративного — 2500 долларов. За Acrobat Reader просили еще 50 долларов. Со временем Adobe снизили цены, и популярность PDF стала набирать обороты.
К началу нулевых Acrobat Reader 4.0 скачали сто миллионов человек, а PDF-формат стали использовать крупные ИТ-компании, например Microsoft и Apple.
Базовый подход к представлению графики и текста в PDF очень похож на тот, что использовался PostScript. За отображение текста на странице отвечают так называемые текстовые элементы. Они обозначают, в каком месте должны быть отрисованы символы. На «Википедии» приводится код для написания Hello World:
Для отрисовки векторной графики в PDF используются контуры (paths): прямые линии или кубические кривые Безье. Фигуры, построенные с помощью контуров, можно залить цветом или заштриховать. Что касается растровых изображений, то их представляют в виде словарей и потоков. В словарях описаны свойства, а поток содержит двоичную информацию об изображении.
Размер PDF-файла зависит от разрешения картинок, параметров шрифтов, использования гиперссылок, видео и проч. До двухтысячных годов размер PDF-файлов измерялся мегабайтами, потому что большинство документов составляли из JPEG-картинок. Для решения этой проблемы в Adobe предложили технологию сжатия MRC (Mixed Raster Content).
MRC «делит» отсканированный файл на слои: фоновый слой, слой текста и цветовую маску. За сжатие информации, имеющейся на каждом слое, отвечает свой кодек. Например, для текста может использоваться JBIG2, который формирует группы из похожих букв и составляет из них словарь. Так, одинаковые символы кодируются по одному разу, а в остальных местах используются просто ссылки на них.
Для сжатия другого контента задействуют кодеки JPEG, JPEG2000 или ZIP. С помощью них сохраняются фон изображения, цветовыделение текста, картинки и фотографии. За счет такого подхода размер каждой страницы уменьшается в два раза и более. Наглядные примеры сжатия PDF приводит компания Abbyy в их блоге на Хабре.
Одним из главных достоинств PDF-файлов является тот факт, что все страницы выглядят именно так, как их задумал автор документа. Формат сохраняет оригинальный фон, шрифты и картинки в первозданном виде, независимо от устройства или операционной системы. При этом PDF позволяет работать с интерактивными элементами: гиперссылками для навигации по сноскам. Также в документ добавляются медиафайлы: музыка, GIF и даже видеоролики.
Другое достоинство формата — его доступность. Программа для чтения PDF-документа Adobe Acrobat Reader сегодня лежит в сети в свободном доступе. Открывать PDF можно и на электронных книгах. Большая часть из них «умеет» работать с этим форматом по умолчанию. Его поддерживают многие приложения-читалки, например, FBreader или NEO Reader.
Неизменяемость PDF-формата, хотя и является его достоинством, также оказывается большим недостатком. Такие файлы (в особенности крупные схемы и графики, ноты, документы большого формата) сложно читать на устройствах с небольшими экранами — смартфонах, или компактных электронных ридерах. Страница просто не помещается на экране устройства, или текст отображается слишком мелким.
На рынке есть электронные читалки с разрешением дисплея в 13,3 или 10,3 дюйма, что позволяет комфортно работать с листами PDF формата А4. Примерами таких гаджетов могут быть ONYX BOOX MAX 2 (обзор которого мы подготовили в нашем блоге), ONYX BOOX Note или ONYX BOOX Gulliver (на него тоже есть обзор). Они дают возможность рассмотреть все детали чертежей и иллюстраций в оригинальном размере и подойдут тем, кому часто приходится читать техническую литературу. Однако стоимость таких гаджетов довольно высока.
Возникает и другая проблема с отображением страниц документов. Она связана с форматом JBIG2. Хотя кодек позволяет сжать текст в несколько раз, он подвержен влиянию проблемы «инь» (о ней мы писали в материале про DjVu). При сжатии текста и составлении словаря некоторые символы заменяются на похожие (например, «и» превращается в «н»), что приводит к искажению сути текста.
С редактированием PDF-файлов также возникают проблемы, так как для этого приходится устанавливать специальные программы, которые часто платные (например, Acrobat DC). В сети найдутся и бесплатные сервисы для редактирования вроде PDF2GO, но они позволяют лишь добавить текст или картинки «поверх» оригинального файла.
Несмотря на недостатки, сегодня PDF остается популярным форматом. Маркетинговая компания HubSpot спросила три тысячи посетителей своего сайта о том, что они делают с электронными книгами: читают онлайн или скачивают в PDF. Выяснилось, что 90% респондентов предпочитают скачивать PDF-файл.
Разработчики постоянно добавляют новые фичи, в том числе и для чтения на портативных гаджетах. К примеру, в начале 2018 команда Adobe снабдила приложение Acrobat DC улучшенными функциями отображения и редактирования файлов на мобильных устройствах.
Кроме того, в августе появились сведения о новом проекте — PDF audible. Он позволит совместить возможности PDF и функциональность голосовых помощников: Alexa, Google Home и Siri. Пока готов только прототип, но разработчики обещают выпустить рабочую версию в ближайшее время.
В Adobe следят за новыми направлениями и намерены сделать формат более интерактивным, например, добавить функции дополненной реальности. Как это будет выглядеть, пока не ясно, но разработчики обещают, что PDF-экосистема в ближайшие годы выйдет на новый уровень взаимодействия с пользователем.
Дополнительное чтение — обзоры ридеров ONYX BOOX:
/ Flickr / Kim Siever / PD
Краткая история формата
Создателем PDF, или Portable Document Format, выступил Джон Уорнок (John Warnock), один из основателей Adobe, который захотел облегчить процесс распечатки текста и изображений с компьютера. В 1984 году Уорнок представил язык описания страниц PostScript.
В «Википедии» в качестве примера приводится код на PostScript, который отрисовывает несколько слов «Wikipedia» по кругу.
%!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 для личного пользования стоил 700 долларов, а для корпоративного — 2500 долларов. За Acrobat Reader просили еще 50 долларов. Со временем Adobe снизили цены, и популярность PDF стала набирать обороты.
К началу нулевых Acrobat Reader 4.0 скачали сто миллионов человек, а PDF-формат стали использовать крупные ИТ-компании, например Microsoft и Apple.
Как «работает» PDF
Базовый подход к представлению графики и текста в PDF очень похож на тот, что использовался PostScript. За отображение текста на странице отвечают так называемые текстовые элементы. Они обозначают, в каком месте должны быть отрисованы символы. На «Википедии» приводится код для написания Hello World:
/Courier % Название шрифта 20 selectfont % Размер шрифта в пунктах 72 500 moveto % Установка указателя по координатам 72, 500 (Hello world!) show % Вывести текст в скобках showpage % Отобразить его на странице
Для отрисовки векторной графики в PDF используются контуры (paths): прямые линии или кубические кривые Безье. Фигуры, построенные с помощью контуров, можно залить цветом или заштриховать. Что касается растровых изображений, то их представляют в виде словарей и потоков. В словарях описаны свойства, а поток содержит двоичную информацию об изображении.
Размер PDF-файла зависит от разрешения картинок, параметров шрифтов, использования гиперссылок, видео и проч. До двухтысячных годов размер PDF-файлов измерялся мегабайтами, потому что большинство документов составляли из JPEG-картинок. Для решения этой проблемы в Adobe предложили технологию сжатия MRC (Mixed Raster Content).
MRC «делит» отсканированный файл на слои: фоновый слой, слой текста и цветовую маску. За сжатие информации, имеющейся на каждом слое, отвечает свой кодек. Например, для текста может использоваться JBIG2, который формирует группы из похожих букв и составляет из них словарь. Так, одинаковые символы кодируются по одному разу, а в остальных местах используются просто ссылки на них.
Для сжатия другого контента задействуют кодеки JPEG, JPEG2000 или ZIP. С помощью них сохраняются фон изображения, цветовыделение текста, картинки и фотографии. За счет такого подхода размер каждой страницы уменьшается в два раза и более. Наглядные примеры сжатия PDF приводит компания Abbyy в их блоге на Хабре.
Достоинства формата PDF
Одним из главных достоинств PDF-файлов является тот факт, что все страницы выглядят именно так, как их задумал автор документа. Формат сохраняет оригинальный фон, шрифты и картинки в первозданном виде, независимо от устройства или операционной системы. При этом PDF позволяет работать с интерактивными элементами: гиперссылками для навигации по сноскам. Также в документ добавляются медиафайлы: музыка, GIF и даже видеоролики.
При этом PDF-файл можно сделать доступным только для чтения, что помогает защитить содержимое документа от копирования и внесения изменений. Для дополнительной защиты есть возможность поставить пароль или электронную подпись.
Другое достоинство формата — его доступность. Программа для чтения PDF-документа Adobe Acrobat Reader сегодня лежит в сети в свободном доступе. Открывать PDF можно и на электронных книгах. Большая часть из них «умеет» работать с этим форматом по умолчанию. Его поддерживают многие приложения-читалки, например, FBreader или NEO Reader.
Минусы формата
Неизменяемость PDF-формата, хотя и является его достоинством, также оказывается большим недостатком. Такие файлы (в особенности крупные схемы и графики, ноты, документы большого формата) сложно читать на устройствах с небольшими экранами — смартфонах, или компактных электронных ридерах. Страница просто не помещается на экране устройства, или текст отображается слишком мелким.
На рынке есть электронные читалки с разрешением дисплея в 13,3 или 10,3 дюйма, что позволяет комфортно работать с листами PDF формата А4. Примерами таких гаджетов могут быть ONYX BOOX MAX 2 (обзор которого мы подготовили в нашем блоге), ONYX BOOX Note или ONYX BOOX Gulliver (на него тоже есть обзор). Они дают возможность рассмотреть все детали чертежей и иллюстраций в оригинальном размере и подойдут тем, кому часто приходится читать техническую литературу. Однако стоимость таких гаджетов довольно высока.
Возникает и другая проблема с отображением страниц документов. Она связана с форматом JBIG2. Хотя кодек позволяет сжать текст в несколько раз, он подвержен влиянию проблемы «инь» (о ней мы писали в материале про DjVu). При сжатии текста и составлении словаря некоторые символы заменяются на похожие (например, «и» превращается в «н»), что приводит к искажению сути текста.
С редактированием PDF-файлов также возникают проблемы, так как для этого приходится устанавливать специальные программы, которые часто платные (например, Acrobat DC). В сети найдутся и бесплатные сервисы для редактирования вроде PDF2GO, но они позволяют лишь добавить текст или картинки «поверх» оригинального файла.
Дальнейшее развитие
Несмотря на недостатки, сегодня PDF остается популярным форматом. Маркетинговая компания HubSpot спросила три тысячи посетителей своего сайта о том, что они делают с электронными книгами: читают онлайн или скачивают в PDF. Выяснилось, что 90% респондентов предпочитают скачивать PDF-файл.
Разработчики постоянно добавляют новые фичи, в том числе и для чтения на портативных гаджетах. К примеру, в начале 2018 команда Adobe снабдила приложение Acrobat DC улучшенными функциями отображения и редактирования файлов на мобильных устройствах.
Кроме того, в августе появились сведения о новом проекте — PDF audible. Он позволит совместить возможности PDF и функциональность голосовых помощников: Alexa, Google Home и Siri. Пока готов только прототип, но разработчики обещают выпустить рабочую версию в ближайшее время.
В Adobe следят за новыми направлениями и намерены сделать формат более интерактивным, например, добавить функции дополненной реальности. Как это будет выглядеть, пока не ясно, но разработчики обещают, что PDF-экосистема в ближайшие годы выйдет на новый уровень взаимодействия с пользователем.
Дополнительное чтение — обзоры ридеров ONYX BOOX: