Дата и время публикации : Дата и время модификации:
Задача и решение
1. Суть задачи
Офисным труженникам часто приходится сталкиваться с ситуацией, когда нужно сшить несколько файлов с картинками (или сканы документов) в один файл PDF, что на первый взгляд кажется сложным, но только не в Debian GNU/Linux, в состав которого включены различеные утилиты позволяющие это сделать легко и непринужденно.
2. Решение
2.1 Установка пакетов
Для манипуляций с многочисленными изображениями "сшиваемых" в единый и неделимый файл PDF нам потребуются следующие пакеты:
- ghostscript обеспечивает предварительный просмотр и печать PostScript или PDF. Так же предоставляет механизм (Прим. авт. он же "Движок") отображения документов в формате PostScript или PDF в окружении X11 для таких программ, как ghostview и ему подобных.
- imagemagick предоставляет набор программ для создания, правки и составления растровых изображений. Поддерживает чтение и запись изображений в разных форматах (DPX, EXR, GIF, JPEG, JPEG-2000, PDF, PhotoCD, PNG, Postscript, SVG, TIFF, всего более ста). Возможные операции: сдвиг, отражение, поворот, масштабирование, наклон, корректировка цвета, применение спецэффектов, добавление текста, линий, многоугольников, эллипсов, кривых Безье. Все операции могут выполняться как с помощью командной строки, так и с помощью графического интерфейса X11.
- libtiff-tools является библиотекой, обеспечивающей поддержку TIFF (англ. Tag Image File Format), широко распространённого формата для хранения изображений. Пакет содержит инструменты для преобразования изображений TIFF в другие форматы и наоборот, а также инструменты для выполнения простых действий над изображениями TIFF.
Установка перечисленных пакетов Debian GNU/Linux производится с правами суперпользователя root, которому разрешено выполнять такого рода операции. Простым решением для пользователей, имеющих систему из "коробки", будет воспользоваться SUDO(8), как показано в дампе 2.1
Дамп 2.1
user@home:~$ sudo apt-get install ghostscript imagemagick libtiff-tools
2.2 Сшивка, усушка, утряска ...
В "сети" различные рецепты для дистрибутива Debian GNU/Linux предлагают воспользоваться утилитой convert, которая по умолчанию создает файл в графическом формате tiff. Он позволяет хранить в одном файле много картинок и, на сегодня, является одним из популярных форматов растровых графических изображений для сканирования, отправки факсов, распознавания текста и т.д.
Создание мультиграфического формата TIFF для группы графических файлов *.bmp следует производить как показано в дампе 2.2
Дамп 2.2
user@home:~$ convert -adjoin ../*.bmp pdf/multiple_images.tiff
Создание мультиграфического файла формата TIFF для группы графических файлов *.png следует производить как показано в дампе 2.3
Дамп 2.3
user@home:~$ convert -adjoin ../*.png pdf/multiple_images.tiff
Создание мультиграфического формата TIFF для группы графических файлов *.jpg следует производить как показано в дампе 2.3
Дамп 2.3
user@home:~$ convert -adjoin *.jpg pdf/multiple_images.tiff
Чтобы не было путаницы в файлах, рекомендую в той же директории создать поддиректорию pdf для хранения результатов манипуляции с графическими форматами PDF и TIFF.
Теперь остается лишь конвертировать только что созданный мултифайл pdf/multiple_images.tiff. Для этого воспользуемся утилитой tiff2pdf, как показано в дампе 2.4
Дамп 2.4
user@home:~$ tiff2pdf -t "Multiple images" -o pdf/multiple_images.pdf pdf/multiple_images.tiff
Утилита tiff2pdf не поддерживает работу с кодировками UTF-16BE, UTF-16LE и UTF-8, поэтому рекомендую воспользоваться патчами.
3. Библиография
3.1 Convert multiple JPG or PNG to PDF in Linux