Ghostscript - удивительно полезная, но малоизвестная программа для работы с файлами в форматах PDF и PostScript. Давайте разберемся, что это такое, для чего нужен Ghostscript и почему стоит иметь его в своем арсенале.
Что такое Ghostscript
Ghostscript - это набор программ и библиотек, позволяющий работать с файлами PostScript (PS) и Portable Document Format (PDF). Ghostscript был изначально разработан в 1986 году как часть проекта GNU и выпущен под лицензией GNU GPL.
Основные возможности Ghostscript:
- Преобразование PS и PDF файлов в различные растровые форматы (JPEG, PNG, TIFF)
- Отображение и печать PS и PDF документов на устройствах, не поддерживающих эти форматы
- Использование в качестве виртуального принтера для создания PS и PDF файлов из приложений
- Работа в качестве RIP (растрового процессора) для принтеров и просмотрщиков PDF
- Интеграция в другие приложения в качестве библиотеки
На данный момент Ghostscript принадлежит и поддерживается компанией Artifex Software. Последняя версия доступна под лицензией GNU GPL.
Зачем нужен Ghostscript
Основное предназначение Ghostscript - это работа с PostScript и PDF файлами. В частности, эта программа незаменима в таких ситуациях:
- Нужно конвертировать документы PS или PDF в другие форматы, например в растровые JPEG, PNG, TIFF
- Требуется распечатать файлы PS/PDF на принтере, который сам не умеет это делать
- Необходимо сгенерировать документы PS или PDF на "лету" из других приложений
- При работе других программ в качестве библиотеки для интерпретации PS/PDF
Также Ghostscript часто используется для пакетной обработки файлов в автоматическом режиме.
Установка Ghostscript
Давайте разберем пошаговую инструкцию по установке Ghostscript в Windows.
- Скачиваем установщик с официального сайта. Выбираем 32-битную или 64-битную версию в зависимости от системы.
- Запускаем fichier setup_gs-xxxx_win32.exe или setup_gs-xxxx_win64.exe.
Нажимаем Далее, соглашаемся с лицензией, выбираем папку для установки.
- В окне выбора компонентов ставим галочки:
- Ghostscript interpreter (Required) GhostPCL interpreter (Recommended) GhostXPS interpreter (Optional)
- Дожидаемся окончания установки и нажимаем Готово.
Готово! Теперь Ghostscript установлен и готов к использованию на вашем компьютере.
Использование Ghostscript
Программа ghostscript - что это и как ей пользоваться? Давайте рассмотрим основные сценарии применения.
Преобразование PS/PDF в JPEG/PNG/TIFF
Одна из самых полезных функций Ghostscript - конвертация документов в растровые форматы для последующей публикации или редактирования в графических редакторах.
Например, чтобы конвертировать файл report.pdf в JPEG, выполняем команду:
gswin64c -sDEVICE=jpeg -o output.jpg report.pdf
Аналогично можно получить PNG, TIFF и другие форматы.
Печать PDF на обычном принтере
Чтобы напечатать PDF документ на принтере, не имеющем встроенной поддержки PDF, используем Ghostscript:
gswin64c -sDEVICE=mswinpr2 -o prn output.pdf
Где mswinpr2 - это драйвер выбранного принтера Windows.
Создание PDF файлов с помощью Ghostscript
Еще одна полезная функция Ghostscript - это генерация PDF документов из различных источников. Это позволяет с легкостью создавать файлы PDF в любом приложении, даже если у него нет встроенных средств экспорта в PDF.
Для этого используется виртуальный принтер Ghostscript. После установки Ghostscript в списке принтеров Windows появляется новое устройство с именем "Ghostscript PDF". Выбираем его при печати - и вместо отправки на бумагу будет создан PDF файл.
Преимущества генерации PDF через Ghostscript
- Работает в любых Windows приложениях, где есть печать
- Можно настраивать качество, размер, оптимизацию PDF
- Удобно создавать PDF пакетно из скриптов, командной строки
Недостатки генерации PDF в Ghostscript
- Медленнее специализированных PDF принтеров
- Меньше настроек по сравнению с платным ПО
- Требуется предварительная установка и настройка
Использование Ghostscript в скриптах и из командной строки
Еще одно важное преимущество Ghostscript - это возможность автоматизации и использования из скриптов. Это позволяет производить пакетную обработку множества документов PDF и PostScript.
Например, чтобы рекурсивно сконвертировать все файлы PDF в директории в JPG, можно использовать такой bat-файл в Windows:
for /r %%f in (*.pdf) do ( gswin64c -sDEVICE=jpeg -o %%~nf.jpg %%f )
А в Linux и MacOS аналогичный скрипт на bash выглядит так:
for f in *.pdf; do gs -sDEVICE=jpeg -o "${f%.*}.jpg" "$f" done