Печать PDF-документов в Windows с помощью Ghostscript и RedMon
Сделайте путь к PDF-документу удобным. Любая программа, осуществляющая печать, может создавать PDF-документы. Adobe Acrobat является стандартом для их создания, но он слишком дорог. Ghostscript — это бесплатный интерпретатор языка PostScript, создающий PDF-документы, подобно программе Distiller из Acrobat. Используйте программу RedMon, чтобы объединить возможности Ghostscript с возможностям Windows-принтера для получения опции Вывод в формате PDF!
Для упакованного инсталлятора Ghostscript/RedMon используйте программы PDFCreator (http://sourceforge.net/ projects/pdfcreator/) или PrimoPDF (http://www.primopdf.com).
Загрузка и установка Ghostscript
Домашней страницей Ghostscript является http://www.cs.wisc.edu/-ghost/. Текущая версия AFPL Ghostscript — 8.14. Загрузите и запустите инсталлятор gs814w32.exe. Предполагается, что программа Ghostscript установлена в заданном по умолчанию каталоге C:\gs\. Если вам понадобится повторная установка Ghostscript, сначала удалите его с помощью диалогового окна Add or Remove Programs (Добавить или удалить программы) в Control Panel (Панель управления) Windows.
Загрузка и установка RedMon
Домашняя страница RedMon — http://www.cs.wisc.edu/-ghost/redmon/. В настоящее время текущей версией RedMon является версия 1.7. Загрузите соответствующий zip-файл redmonl17.zip в новый каталог под названием redmon17. Разархивируйте его и дважды щелкните на файле setup.exe, чтобы установить программу.
Загрузка и распаковка Virtual Printer Kit
Virtual Printer Kit (Комплект виртуального принтера, VPK) содержит файлы драйвера принтера, PPD-файлы и типовые файлы конфигурации. Загрузите этот комплект с веб-страницы http://www.pdfhacks.com/virtual_printer/. Разархивируйте его в удобный каталог и обратите внимание на его содержимое. Мы будем обращаться к нему по мере необходимости. Читайте файл README, т. к. он может содержать изменения команд.
Можно загрузить PostScript-инсталлятор драйверов для Windows с сайта Adobe. Однако лицензия предполагает его совместное использование только вместе с другими программами Adobe, такими как PostScript Printer. Изучите эту лицензию. Если она удовлетворяет вас, то загрузите его (в настоящее время — версия 1.0.6) с веб-страницы http://www. adobe.com/support/downloads/product.jsp?product— 44&platform=Windows.
Для создания GS Pdf Printer используйте описание принтера ADIST5.PPD из Virtual Printer Kit.
Остальная часть этого метода взлома разделена на платформы: Windows ХР или Windows 2000, и Windows 98.
Установка и конфигурирование PDF-принтера в Windows ХР, 2000
У вас уже должны быть установлены программы Ghostscript, RedMon и Virtual Printer Kit (Комплект виртуального принтера). Остается установить и сконфигурировать PDF-принтер.
Установка Virtual PostScript Printer. Многие PostScript-принтеры могут использовать тот же самый основной PS-драйвер. Чтобы создать законченный драйвер принтера, необходимо скомбинировать это ядро с PPD-файлом принтера, который подробно описывает его возможности.
Windows ХР поставляется с основным PS-драйвером. Драйвер Virtual PostScript Printer — это просто INF-файл, инструктирующий Windows по процедуре объединения ядра со свободно распространяемым PPD-файлом от Adobe, который описывает принтер для Acrobat 5 Distiller. Результат — принтер, почти готовый к созданию PDF-документа.
- Командой меню Start\Settings\Printers and Faxes\Add a Printer (Пуск\ Настройки\Принтеры и Факсы\Установка принтера) откройте мастер установки. Щелкните на кнопке Next (Дальше) для его запуска.
- Выберите Local Printer (Локальный принтер), отключите Automatically Detect (Автоматическое определение) и нажмите Next.
- Выберите Create a New Port (Создать новый порт) и в раскрывающемся списке — Redirected Port (Переадресовываемый порт). Нажмите Next. Диалоговое окно запросит имя порта. Введите RPTPDF: и нажмите ОК. При установке программы RedMon это создает опцию Redirected Port (Переадресовываемый порт).
- Мастер предложит список принтеров и изготовителей. Выберите Have Disk (Есть диск), а затем Browse (Просмотреть), переместитесь в каталог driver\WinXP\ в Virtual Printer Kit (Комплект виртуального принтера), откройте файл adistSgs.inf и нажмите ОК. Мастер должен отобразить только один принтер — Virtual PostScript Printer. Выберите его, как показано на рисунке. Диалоговое окно может сообщить, что этот драйвер принтера не зарегистрирован. Нажмите Next.
- При сообщении мастера, что драйвер для этого принтера уже установлен, выберите Keep Existing Driver (Использовать существующий драйвер) и нажмите Next.
- Присвойте принтеру имя GS Pdf Printer и выберите No default printer (Нет принтера по умолчанию). Нажмите Next.
- Выберите No (Нет), чтобы воспрепятствовать печати тестовой страницы, и нажмите Next.
- Нажмите Finish (Готово), чтобы завершить установку. Может появиться сообщение, что драйвер не сертифицирован Windows. Подтвердите установку.
Принтер GS Pdf Printer должен появиться в папке Printers and Faxes (Принтеры и факсы).
Конфигурирование переадресовываемого порта RedMon для PDF-вывода. Теперь свяжите этот принтер с программой Ghostscript, конфигурируя созданный переадресовываемый порт RPTPDF:
- Щелкните правой кнопкой мыши на принтере GS Pdf Printer, выберите в контекстном меню Properties (Свойства), а затем вкладку Ports (Порты).
- Убедитесь, что переключатель Enable bidirectional support (Разрешить двунаправленную поддержку) отключен.
- Выделите только что созданный переадресовываемый порт RPTPDF: и щелкните Configure Port (Сконфигурировать порт).
- Установите свойства порта, как показано в таблице, изменяя пути в соответствии со своими настройками. Будьте внимательны, чтобы не пропустить отдельный дефис в конце параметров программы.
- Щелкните на кнопке Log File (Журнал), чтобы сконфигурировать Log File Properties (Свойства журнала). Выберите Use Log File (Использовать журнал) и введите регистрационное имя файла, например, C:\gs\pdf_printer.log. Не включайте Debug (Отладка).
- Щелкните на кнопке Log File (Журнал), чтобы сконфигурировать Log File Properties (Свойства журнала). Выберите Use Log File (Использовать журнал) и введите регистрационное имя файла, например, C:\gs\pdf_printer.log. Не включайте Debug (Отладка).
- Нажмите ОК и закройте окно Log File Properties. Нажмите OK, чтобы подтвердить новые параметры настройки порта. Нажмите Close (Закрыть), чтобы подтвердить новые параметры настройки принтера (см. рисунок) и закрыть диалоговое окно Properties (Свойства) для GS Pdf Printer.
Чтобы завершить конфигурирование порта, создайте файл C:\gs\pdf_ printer.cfg, упомянутый ранее. Это текстовый файл дополнительных параметров, который передается в Ghostscript. Пример использует Virtual Printer Kit (Комплект виртуального принтера). Измените пути, чтобы они соответствовали программе Ghostscript и системным установкам.
-dSAFER -dBATCH -dNOPAUSE
-Ic:\gs\gs8.14\Resource
-Ic:\gs\fonts
-Ic:\gs\gs8.14\lib
-sFONTPATH=c:\WINDOWS\FONTS
-sDEVICE=pdfvrate
-Г1200
-c save pop
Чтобы проверить его, перейдите к разделу «Проверка принтера GS Pdf Printer», который расположен далее в описании этого метода взлома.
Установка и конфигурирование PDF-принтера в Windows 98
У вас уже должны быть установлены программы Ghostscript, RedMon и Virtual Printer Kit. Остается установить и сконфигурировать PDF-принтер.
Установка Virtual PostScript Printer.
Многие PostScript-принтеры используют основной PS-драйвер. Чтобы создать законченный драйвер принтера, скомбинируйте это ядро с PPD-файлом принтера, подробно описывающим его возможности.
Проблемы возникают, когда нам требуется PS-ядро последних версий. Найдите на своем жестком диске файл adobeps4.drv, чтобы определить, установлено ли новое PS-ядро. Если оно есть, то все в порядке. В противном случае существуют две возможности.
Один из вариантов — это использовать PostScript-инсталлятор драйвера от Adobe, как было описано ранее. Однако лицензия ограничивает это. Другим вариантом является загрузка от производителя драйвера принтера, содержащего все нужные файлы и использующего разрешающую лицензию.
Для этого загрузите драйвер принтера Phaser 550 (версия драйвера 4.52) с сайта http://www.Xerox.com. Это самораспаковывающийся исполняемый файл win9xadb.exe, который помещает все необходимые файлы в строго определенный каталог. Для получения дополнительной информации о других возможных источниках прочитайте файл readme Virtual Printer Kit.
Чтобы гарантировать совместимость драйверов, их необходимо брать из определенного источника, например:
ADOBEPS4.DRV
ADOBEPS4.HLP
ADFONTS.MFM
ICONLIB.DLL
PSMON.DLL
Скопируйте эти файлы в каталог Virtual Printer Kit driver\Win9x\, который уже содержит два компонента: PPD-файл для Virtual PostScript Printer и Windows INF-файл, используемый мастером установки принтеров.
- Командой меню Start\Settings\Printers and Faxes\Add a Printer (Пуск\Настройки\Принтеры и Факсы\Установка принтера) откройте мастер установки. Нажмите Next (Дальше) для его запуска.
- Выберите Local Printer (Локальный принтер) и нажмите Next.
- Мастер предоставит вам список принтеров и изготовителей. Выберите Have Disk (Установить с диска), а затем Browse (Просмотреть), перейдите в каталог driver\Win9x\в Virtual Printer Kit и нажмите Open (Открыть), а затем ОК. Мастер должен отобразить только один принтер — Virtual PostScript Printer. Выберите его и нажмите Next.
- При сообщении мастера, что для этого принтера драйвер уже установлен, выберите Replace Existing Driver (Заменить существующий драйвер) и нажмите Next.
- В окне Available Ports (Доступные порты) выберите FILE: и нажмите Next.
- Присвойте принтеру имя GS Pdf Printer и выберите No default printer (Нет принтера по умолчанию). Нажмите Next.
- Мастер завершит работу. Если диалоговое окно Version Conflict (Конфликт версий) сообщит, что поверх более новых файлов записываются старые, самое безопасное — оставить новые файлы.
Принтер GS Pdf Printer должен теперь появиться в папке Printers and Faxes (Принтеры и факсы). Свяжите его с программой Ghostscript, добавляя и конфигурируя переадресовываемый порт.
Добавление и конфигурирование переадресовываемого порта RedMon.
Свяжите принтер GS Pdf Printer с программой Ghostscript с помощью переадресовываемого порта RedMon.
- Щелкните правой кнопкой мыши на значке принтера GS Pdf Printer, выберите в контекстном меню Properties (Свойства), а затем — вкладку Details (Подробности).
- Кнопкой Add Port (Добавить порт) откройте диалоговое окно. На вкладке Other (Другие) выберите Redirected Port (Переадресовываемый порт). Нажмите ОК. Присвойте порту имя RPTPDF: и нажмите ОК.
- На вкладке Details (Подробности) выберите Spool Settings (Настройка буферизации). Установите флажок Disable bi-directional support for this printer (Отключить двунаправленную поддержку этого принтера) и нажмите ОК.
- На этой же вкладке выберите Port Settings (Настойки порта), изменяя пути для соответствия программы Ghostscript вашей настройке. Будьте внимательны, чтобы не пропустить отдельный дефис в конце параметров программы.
- Щелкните на кнопке Log File (Журнал), чтобы сконфигурировать Log File Properties (Свойства журнала). Выберите Use Log File (Использовать журнал) и введите регистрационное имя файла, например, C:\gs\pdf_printer.log. Не включайте Debug (Отладка).
- Нажмите ОК, чтобы закрыть окно Log File Properties.
- Щелкните OK, чтобы принять новые параметры настройки порта.
- Нажмите ОК, чтобы принять новые параметры настройки принтера и закрыть диалоговое окно Properties для принтера GS Pdf Printer.
Чтобы завершить конфигурирование порта, создайте файл pdf_print-er.cfg, упоминавшийся выше. Это текстовый файл дополнительных параметров, передаваемых программе Ghostscript. Пример использует Virtual Printer Kit. Измените пути, чтобы они соответствовали настройкам программы Ghostscript и системным настройкам.
Проверка принтера GS Pdf Printer
Откройте диалоговое окно свойств принтера GS Pdf Printer, выберите вкладку General (Общие) и щелкните Print Test Page (Напечатать пробную страницу). После паузы откроется диалоговое окно, в котором нужно ввести имя PDF-файла. Выберите подходящее имя файла и нажмите ОК. Обратите внимание, что выводимый файл будет записан поверх предыдущего, и расширение PDF к имени файла автоматически не добавляется.
После окончания вывода откройте PDF-файл в программе Reader. Как он выглядит? Следующие несколько методов взлома рассматривают варианты настройки программы Ghostscript.
Если произошла ошибка или PDF-файл не создан, тщательно перепроверьте конфигурацию принтера и посмотрите в журнале:
- блокировку двунаправленной печати;
- соответствие настройки переадресовываемого порта установленным ранее; следите за отдельным конечным дефисом в параметрах программы.
- местоположение файла pdf_printer.cfg соответствие его содержания прежним данным;
- модификацию путей C:\gs\ для отображения местоположения программы Ghostscript.