Создание PDF в OS/2
Дмитрий БанPDF (Portable Document Format) -- стандарт фирмы Adobe, предназначенный для обмена документами между разными платформами. Несмотря на очевидные недостатки (значительный объём и медлительность интерпретации), PDF используется довольно широко, так как позволяет получить документы, которые выглядят одинаково на любой платформе.
В OS/2 мне всегда нехватало аналога утилиты PDF Writer, которая есть для Windows NT. Эта утилита позволяет любой программе распечатывать свои документы прямо в PDF-файл. Наконец, я созрел и с помощью Евгения Кулешова реализовал подобную возможность и в OS/2.
Идея такова: с помощью драйвера PostScript-принтера создавать PostScript-файл, который затем можно сконвертировать в PDF. Для этого потребуется целый ворох утилит, хотя полученная в результате схема проста и удобна в использовании.
Необходимые программы
- Прежде всего необходима библиотека EMX версии не ниже 0.9c. Если (что достаточно странно) эта библиотека у вас не установлена, возьмите последнюю версию emx 0.9d с нашего сайта (550k).
- Далее потребуется Aladdin Ghostscript (текущая версия 5.50).
gs550os2.zip 838k OS/2 executable gs550ini.zip 1003k INI files gs550fn1.zip 1172k Fonts gs550fn2.zip 1169k Font metrics gsv27os2.zip 696k GSview 2.7 - Утилита printmon (9k) нужна для того, чтобы перенаправить вывод драйвера PostScript-принтера в программу GhostScript.
- Написанная на Visual REXX утилита Poor man's Distiller (Distiller для бедных, 13k) обеспечит скромный front end ко всей этой комбинации.
- Если у вас не установлен Visual REXX for Presentation Manager (скорее всего, так оно и есть), вам необходимо будет загрузить файл vrexx2.zip (203k).
Установка
- Установите Aladdin GhostScript и GSview
Распакуйте файл gsv27os2.zip во временный каталог и поместите туда же файлы gs550os2.zip, gs550ini.zip, gs550fn1.zip и gs550fn2.zip в нераспакованном виде. Запустите os2setup.exe. После установки запустите GSview для завершения настройки программы. Переименуйте файл gsos2.exe в gs.exe.
GSview -- программа для просмотра и конвертирования файлов в форматах PDF, PostScript и Encapsulated PostScript.
- Установите драйвер PostScript-принтера
Бросьте шаблон "Принтер" (Printer) в папку "Принтеры" (Printers). Выберите подходящий драйвер цветного PostScript-принтера (я использую драйвер Tektronix Phaser 550). В свойствах принтера на странице "Output port" назначьте ему для вывода неиспользуемый порт, например, LPT3, как показано на скриншоте.
- Установите Visual REXX
Распакуйте vrexx2.zip и поместите файл vrexx.inf в каталог \OS2\BOOK, библиотеки devbase.dll и vrexx.dll -- в \OS2\DLL, а vrexx.exe и *.cmd -- в \OS2
- Установите Poor man's Distiller
Распакуйте файл distill.cmd из архива distill.zip в любой прописанный в PATH каталог. Подправьте в нём переменные gsdir (путь к файлам GhostScript), acdir (путь к файлам Adobe Acrobat Reader, если он у вас установлен) и gvdir (путь к файлам GSview).
- Установите PrintMon
Распакуйте файл printmon.exe из архива printmon.zip в любой прописанный в PATH каталог. Активируйте его командой типа:
START "PrintMon" /MIN PRINTMON LPT3 "DISTILL STDIN"
"а теперь со всем этим мы попытаемся взлететь"
Из любой программы OS/2 пошлите задание на печать, используя фейковый драйвер PostScript-принтера. Вам будет предложено ввести имя выходного PDF-файла. Некоторое время этот файл будет создаваться, после чего вам предложат просмотреть его с помощью Adobe Acrobat Reader или GSview. В качестве примера прилагаю черновой вариант этой страницы в виде PDF (>800k).Замечания
Если вы будете использовать именно драйвер Tektronix Phaser 550, то в записной книжке свойств перейдите на страницу "Printer driver", вызовите "Job Properties" и на странице "Features" задайте значение "Simulate Display" для параметра "Color Correction", как показано здесь:
Уже готовые PostScript- и Encapsulated PostScript-файлы можно конвертировать в PDF командой distill <полное-имя-файла.ps>.
GhostScript содержит весьма серьёзное ограничение: текст, набранный любым шрифтом, отличным от 14 основных шрифтов Adobe (семейство Courier, Times и Helvetica, Symbol и Zapf Dingbats) при конвертировании превращается в битмап. То же самое произойдёт и в том случае, если текст набран одним из базовых шрифтов, но содержит символы в нестандартной кодировке. С латиницей проблем нет, а вот с кириллицей могут возникнуть...
Комментарии, предложения и прочее направляйте по адресу d-ban@softhome.net
Интересные ссылки:
Комментариев к странице: 0 | Добавить комментарий
Домой | Проект ядро Core/2 | Проект OS/4 Download | Новости | Гостевая книга | Подробно обо всем | Нужные программы | Проекты | OS/2 FAQ | Всячина | За и Против | Металлолом | #OS2Russian | RDM/2 | Весёлые картинки | Наша галерея | Доска объявлений | Карта сайта | ПОИСК | ФОРУМ