Регистрация

Печать из NS2000 - проблема с новыми принтерами

пользователям системы "NS2000"
Старожил
Сообщения: 29
Зарегистрирован: Чт июл 22, 2004 3:58 pm
Откуда: г. Пермь

Печать из NS2000 - проблема с новыми принтерами

Сообщение rda » Ср янв 30, 2008 3:54 pm

Может у кого-то решена следующая проблема с печатью из NS2000 (версия 3.02 дос-интерфейс, Progress 9.1D на Linux): практически все новые модели лазерных принтеров HP не поддерживают загрузку шрифтов из Доса. Большинство отчетов, печатных форм документов, ценников печатается используя загружаемые в принтер шрифты.
Кроме как перехода на печать из EXCEL я другого способа не вижу.
Не переписывать же NS-ку под Win интерфейс?

Может кто из форумчан подскажет другой способ выхода из тупика?

Модератор
Сообщения: 407
Зарегистрирован: Чт июл 12, 2001 4:00 am

Сообщение van » Чт янв 31, 2008 12:38 pm

да, это действительно проблема и не только для NS.
так же пырхаемся.
только проблема несколько обширнее, чем ты указал: идет волна замены полных принтеров, понимающих pcl и postscript принтерами GDI, в которых мозгов вообще нет, а вся предпечатная подготовка осуществляется виндузным драйвером. соответственно, пользователей в добровольно-принудительном порядке привязывают к windows.
уж не знаю, есть ли тут сговор с майкрософтом или нет, но большинство производителей клепают драйверы только под винду , а под другие системы не особо спешат делать. мало того, на хост-печать стандарта нет, и каждый производитель принтера извращается по-своему, протоколы закрыты.

во-первых, подсиcтему печати в NS2000 надо переделывать. там задумки изначально были хорошие, но потом видно в коммерческой спешке сделали тяп-ляп, лишь бы работало.. и имеем то, что имеем: переделать большая проблема, практически нерешаемая - одно другое цепляет. кстати, так можно сказать и о всей системе.
сам постоянно об этом думаю, и пока только пришел к такому выводу: если еще оставаться на этой системе, то вариантом ее менее болезненной реинкарнации может быть только веб-интерфейс у пользователя. как это сделать, пока не думали.

во-вторых, знаю, что некоторые пользователи NS2000 сумели наладить экспорт выходных печатных форм в pdf и html.
если они тут, мож отзовутся..

во-вторых, подгружаемые шрифты используются уже тогда, когда категорически нет встроенных. модели со встроенными кириллическими шрифтами и с поддержкой PCL еще пока есть и у HP. другое дело, что это дорогие модели. из дешевого пока еще есть HP-P2014. а если продавцы будут говорить, что dos-печть не поддерживает, не верьте.
подробности еще пока есть тут:
http://www.startcopy.ru/bbs1/msg/2448.htm?7

в-третьих, на HP свет клином не сошелся. они стали неадекватны и дороги.
например, присматриваюсь к BROTHER. у них есть модели с нормальной стоимостью и со шрифтами и с pcl и с linux-драйверами и с ресурсом в 2 раза выше...

Старожил
Сообщения: 38
Зарегистрирован: Пт июл 13, 2001 4:00 am

Сообщение alex » Вт дек 14, 2010 11:46 am

Хотя тема уже старая, напишу тут решение, авось кому пригодится.
Итак, проблема состоит в том, что NS2000 генерирует печатные формы в формате PCL который многие современные дешевые принтеры не понимают.
Решение видится в следующем: преобразовать PCL в другой формат, например в PostScript, с печатью которого проблем не возникнет, если, конечно, есть драйвера на принтер.

Как ни странно, преобразователь PCL в PS существует и носит имя ghostpdl ( http://www.artifex.com/downloads/ ).

Ниже я опишу настройку для Linux. Возможно, есть способы заставить работать все это и под Windows, но я не пробовал. Для действа нам понадобятся:
1. GhostPDL (Я использовал версию 1.50)
2. URW шрифты
3. Комплект PCL шрифтов для русификации старых PCL принтеров от HP. Я брал с диска HP LaserJet 5L.
4. CUPS в качестве системы печати (я уверен, что будет работать и с lpd, но там сложнее настраивать драйвера новых принтеров. Если кто хочет дополнить)
5. Работающие драйвера для принтера под Linux.

Итак начнем.
Скачиваем GhostPDL, распаковываем, читаем README, компилируем (команда make). После окончания берем файлик main/obj/pcl6 и копируем его в исполняемый путь, например в /usr/local/bin
Распаковываем URWFonts, например в /usr/local/urwfonts.
Теперь мы можем уже сконвертировать PCL файл в PS, но всплывет проблема: в URW шрифтах нет кириллицы. Для устранения этого в начало PCL файла необходимо поместить русские PCL шрифты.
Распаковываем их например в /usr/local/pcl (мне хватило следующих файлов:CRB00CPO.SFS CRB00ERO.SFS CRR00CPO.SFS )
И пишем скрипт pcl2ps:
Код: Выделить всё
#!/bin/sh
cd `dirname $0`
TMP_PCL=$(mktemp /tmp/printpcl.XXXXX)
TMP_PS=$(mktemp /tmp/printps.XXXXX)
export PCLFONTSOURCE=/usr/local/urwfonts
(cat CRR00CPO.SFS; cat CRB00CPO.SFS; cat;) >$TMP_PCL
/usr/local/bin/pcl6 -dNOPAUSE -sDEVICE=pswrite -sOutputFile=$TMP_PS -J"@PJL DEFAULT LPARM:PCL SYMSET=PC866CYR" $TMP_PCL
cat $TMP_PS
rm -f $TMP_PCL
rm -f $TMP_PS


Теперь можно запустить его и проверить, что оно работает.
Код: Выделить всё
cat report.txt | ./pcl2ps >report.ps


PS файл открываем в ghostscript и смотрим, что все в порядке.
Если все нормально, то немного модифицируем скрипт
Код: Выделить всё
#!/bin/sh
cd /usr/local/pcl
umask 077
TMP_PCL=`mktemp /tmp/printpcl.XXXXX`
TMP_PS=`mktemp /tmp/printps.XXXXX`
export PCLFONTSOURCE=/usr/local/urwfonts
cat CRR00CPO.SFS CRB00CPO.SFS CRI00CPO.SFS CRJ00CPO.SFS >$TMP_PCL
cat $6 >> $TMP_PCL
 /usr/local/bin/pcl6 -dNOPAUSE -sDEVICE=pswrite -sOutputFile=$TMP_PS -J"@PJL DEFAULT LPARM:PCL SYMSET=PC866CYR" $TMP_PCL
cat $TMP_PS
rm -f $TMP_PCL
rm -f $TMP_PS

и помещаем его в /usr/lib/cups/filters (не забываем дать права на исполнение).
Далее создаем файлик /etc/cups/rpt.types
Код: Выделить всё
application/x-ns-report

и /etc/cups/rpt.convs
Код: Выделить всё
application/x-ns-report         application/postscript  33      pcl2ps


Перезапускаем CUPS.
Можно печатать следующим образом
Код: Выделить всё
lpr -o "document-format=application/x-ns-report" report.txt

В случае, если принтер по умолчанию и драйвер установлен правильно, распечатается без проблем, как на PCL принтере, иногда даже быстрее.

Вернуться в NS2000

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1