Ghostscript какие принтеры поддерживают
Напечатать что-либо — это всегда проблема. Имеется набор различных принтеров от различных производителей с различными особенностями. Даже для вывода на печать обычного ASCII текста нет никаких общих решений (это применимо не только к UNIX, но также и к другим операционным системам).
Принтеры имеют различные управляющие языки, и очень часто они имеют сильно различные подходы к поддержке иностранных языков. Хорошая новость — это то, что сейчас в качестве управляющего языка, как стандарт de facto для описания работы печати, используется язык PostScript , разработанный Adobe Corporation. Много принтеров имеют встроенный PostScript интерпретатор , то есть вам надо просто послать на принтер Postscript данные. Для тех, у кого этого нет, существует программные PostScript интерпретаторы , которые берут данные PostScript и преобразовывают в специфический для данного принтера управляющий код. Один из них мы сейчас обсудим (вероятно, лучший из лучших). Это GNU GhostScript (gs для краткости).
Другая проблема — это широкий спектр требований, предъявляемых к печати. Например, иногда вы хотите просто напечатать часть вашей программы на «C», содержащей в качестве комментария текст на русском, так что вы не нуждаетесь в «навороченной» процедуре печати — вам нужен простой ASCII вывод с одним шрифтом. Совсем другое дело, когда вы создаёте открытку для вашей подруги. В этом случае вы, вероятно, будете нуждаться в печати документа с различными шрифтами и т.д. И это уже определённо требует больших усилий по установке поддержки кириллицы.
Чтобы выполнить вышеупомянутую задачу по выводу С программы, вы должны заставить ваш принтер понять только один шрифт кириллицы и (возможно) установить некоторую программу-фильтр, чтобы выводить данные в соответствующем формате. Чтобы совладать со второй задачей, вы должны обучить ваш принтер различным шрифтам и иметь специальное программное обеспечение.
Бывают задачи, требующие для выполнения нечто среднее, тогда вам нужна программа, которая знает как организовать и шрифты, и соответствующий вывод в принтер, так что вы можете, скажем, получить на выходе качественно отпечатанный текст без сложных систем подготовки текстов.
Преобразование текста в PostScript
Иногда у вас есть простой ASCII KOI8 текст, и вы хотите его только напечатать. Один из самых простых способов это сделать — это воспользоваться услугами программ, преобразующих текст в PostScript.
Есть ряд программ, делающих такое преобразование. Я лично предпочитаю a2ps. Первоначально разработанная как простой преобразователь text-to-PostScript, сейчас эта программа стала «матёрым», легко настраиваемым программным продуктом с большим количеством опций и настроек. Она позволяет управлять форматами, размещением страниц, выделением и т.д. Другая утилита, делающая примерно то же самое (теперь доступная как часть проекта GNU ) — enscript.
A2ps конвертер
Преобразователь текста в PostScript был и остаётся одним из наиболее универсальных средств печати. Все, в чем вы теперь нуждаетесь — это PostScript принтер.
Команда, которую я использую для этого:
a2ps -X koi8r —print-anyway
Комплект шрифтов i18n-fonts нужных для преобразования кириллических текстов в Postscript не входит в дистрибутив a2ps начиная с версии 4.12 ПО ПРИЧИНЕ НЕ ОТКРЫТОЙ ЛИЦЕНЗИИ . Шрифты следует скачать с домашней странички a2ps или забрать с ftp a2ps пакет i18n-fonts-*.*.tar.gz .
Для работы a2ps можно использовать шрифты sharatype-*.*.*.tar.gz, где в комплекте идёт все необходимое для прикрутки оных шрифтов к a2ps . Будет работать и в Latin-1 и в KOI8 . Должно также и в Latin-2 .
Следует учитывать, что программы имеет весьма развитый «интеллект» и определяет своё поведение в зависимости от структуры файлы, поэтому лучше всего привести текст перед печатью в «плоский» вид, то есть убрать все внутренние теги, которые могут смутить программу.
GNU enscript
Программа GNU enscript, как и a2ps, была разработана для преобразования текста в PostScript, и она также поддерживает не-ascii кодировки. Программа не имеет русских PostScript шрифтов в своём составе, но их очень просто доустановить. Как это сделать, описано ниже:
- Установите последний enscript. Самую последнюю версию 1.5. вы можете найти в GNU FTP архиве.
- Если вы — пользователь RedHat Linux, загрузите и установите шрифт Cyrillic Textbook.
- Если вы не используете RPMки, вытяните файл textbook.tar.gz из архива на sunsite.unc.edu (здесь лежит программное обеспечение для русификации). Разархивируйте этот файл в каталог, где размещены шрифты для enscript (обычно /usr/share/enscript). Теперь перейдите туда и выполните следующую команду:
mkafmmap *.afm
enscript --font=Textbook8 --encoding=koi8 some.file
rtxt2ps
Если же вам требуется действительно быстрый и простой способ, а качество вывода для вас не критично, и все, что вам нужно — это только русский текст на бумаге, попробуйте пакет rtxt2ps. Это очень простой, без украшательств, конвертер текста в PostScript. Качество вывода не очень хорошее (честно говоря, плохое ), но это работает.
| Пред. | Уровень выше | След. |
| cygwin | Начало | Преобразование текста в TeX |
Горячая линия 8(861) 212-61-06 E-mail: RiR01@miackuban.ru
Печать с терминального сервера на Windows машины
Модераторы: gorev, and
Правила форума
Правила форума РИР и рекомендации по созданию тем
Сообщений: 5 • Страница 1 из 1
Печать с терминального сервера на Windows машины
Alter » 23 мар 2015, 15:48
При увеличении количества активных клиентов более 68 возникали постоянные сбои. Принял решение перевести терминальный сервер и базу данных на ubuntu server 14.04. Подключение реализовал по X11rdp протоколу. Появилась возможность подключаться к серверу стандартным клиентом windows с помощью «подключения к удаленному рабочему столу». В связи с этим возник вопрос проброски windows принтера в сессию. Решение работает не зависимо от типа подключения, так как все равно используется CUPS.
Печать происходит по следующей цепочке: Postscript → Virtual Postscript Printer → RedMon → Ghostscript → GS mswinpr2 device → Physical Printer
2. Создаем текстовый файл mswinpr2.txt следующего содержания:
-Ic:\gs\gs9.15\lib;c:\gs\fonts
-sDEVICE=mswinpr2
-dNoCancel
-dNOPAUSE
-dSAFER
-sPAPERSIZE=letter
3. Устанавливаем скаченное программное обеспечение в папку «c:\gs», все ставится по умолчанию. На машине под управлением Windows XP (Windows 7 он называется «служба печати LPD») требуется установить компонент Windows «Print Services for Unix», позволяющий предоставлять общий доступ к установленному на Windows — машине принтеру в гетерогенной сети по unix — протоколу LPD:// . Компонент можно установить перейдя в Панель управления > Установка и удаление программ > Установка компонентов Windows и выбрав в группе Другие службы доступа к файлам и принтерам в сети компонент Службы печати для Unix. Эту службу необходимо настроить на автозагрузку, т. к. по умолчанию для нее установлен тип запуска Вручную. Сделать это можно перейдя в Панель управления > Администрирование > Службы в свойствах службы Сервер печати TCP/IP изменив тип запуска на Авто.
4. Создаем в папке «c:\gs» директорию «fonts» Так же в эту папку переносим созданный файл «mswinpr2.txt»
5. Устанавливаем принтер в windows выбрав порт Redirected port и назначив ему драйвер HP Color LaserJet 4550 PS так как он есть и в linux. (Если ставим на Window7, смотрим пункт 8) Даем ему удаленный доступ с именем «postscrip» (не важно имя какое даёте). В свойствах порта RTP1 выставляем следующие параметры: В поле «Redirects this port to the program» указываем путь к файлу интерпретарора GhostScript «c:\gs\gs9.15\bin\gswin32c.exe» (разрядность и версия указывается соответственно). В поле «Arguments to this program are» указываем следующую строку: «@c:\gs\mswinpr2.txt -sOutputFile=»\\spool\gsprinter» -», где gsprinter — сетевое имя физического принтера (также получившего общий доступ с этим именем). Остальные параметры оставляем без изменений.
6. Последним шагом перед установкой принтера на другой Linux-машине следует внести правки в реестр. Текст *.reg — файла:
7. В Linux в CUPS через lpd://IP/postscript подключаем виртуальный postscrip — принтер, в качестве драйверов следует использовать драйвер HP Color LaserJet 4550 PS.
8. В Windows 7 настроить порты не удается из-за ограничения в доступе. Выход такой, запускаем командную строку от имени администратора и вводим следующую команду для установки принтера: «rundll32 printui.dll,PrintUIEntry /il» Для конфигурации порта: «rundll32 printui.dll,PrintUIEntry /s»
И тогда мы сможем обойтись без этих НАДЕЖНЫХ, рассчитанных на ОГРОМНЫЕ нагрузки с НЕБЫВАЛО огромным количеством тонера принтеров xerox phaser 3040 🙂
Alter Сообщений: 8 Зарегистрирован: 20 мар 2015, 12:05 Регион: Краснодарский край Муниципальное образование: город-курорт Анапа Наименование организации: МБУЗ “Городская больница” Рабочий телефон: 88613356788
Печать с терминального сервера на Windows машины
Grey » 25 мар 2015, 09:52
Спасибо за дельную статью, думаю многим это решение будет интересно.
Особенно интересен опыт использования XRDP сервера как альтернативы FreeNX. Не могли бы Вы вкртце описать результаты/впечатления от перехода на XRDP?
Просьба всем форумчанам, которые захотят использовать данное решение, отписаться в эту тему о результатах и Ваших впечатлениях.
С уважением,
Тороп Дмитрий.
- Профиль
- Сайт
- ICQ
Печать с терминального сервера на Windows машины
Alter » 25 мар 2015, 11:47
Самый главный плюс — это преодоление 68 барьера с активным пользователем. Появилась возможность пробросить папку, пробрасываю флешки пользователей. «Свежее» программное обеспечение (ubuntu server 14.04), то же ядро уже стоит 3.16, а не 2.х. Кроме того поставил оболочку LXDE и ресурсы расходуются экономнее. Удобство в настройке (стандартный софт Windows), а так же прорисовка экрана идет быстрее (субъективное мнение). А протокол FreeNX, похоже уже перешел в разряд платного софта и текущая версия дальше не поддерживается. На данном моменте работают 59 пользователей: процессоры 2-9%, ОЗУ 19Gb из 35 Gb. Свап пустой. Но куда больший эффект по приросту производительности наблюдается от переноса базы данных. Это так вкратце.
Alter Сообщений: 8 Зарегистрирован: 20 мар 2015, 12:05 Регион: Краснодарский край Муниципальное образование: город-курорт Анапа Наименование организации: МБУЗ “Городская больница” Рабочий телефон: 88613356788
Печать с терминального сервера на Windows машины
Alter писал(а): Появилась возможность пробросить папку, пробрасываю флешки пользователей.
Напоминаем о недопустимости работы на компьютере (ИСПДн) без антивируса, необходимо проверять его наличие при запуске системы.
Кроме того, рекомендуем избегать использования съемных носителей (флешки, диски, mp3-плееры, телефоны и т.п.), особенно неучтённых. Обязательно необходимо проверять их антивирусом перед началом работы.
- Профиль
- Сайт
Печать с терминального сервера на Windows машины
Pavel4 » 05 май 2016, 12:31
Подскажите такой момент. При подключении через NX используется RSA ключ. При подключении через RDP его нет. Является ли использование этого ключа обязательным условием с точки зрения правил безопасности, или ключ применяется только из-за особенностей работы NX? Т.е. легально ли использовать просто RDP или надо настраивать какую-то проверку ключа?
Pavel4 Сообщений: 3 Зарегистрирован: 16 янв 2015, 10:39 Регион: Краснодарский край Муниципальное образование: г.Сочи Наименование организации: МБУЗ «Городская поликлиника №2» г.Сочи Рабочий телефон: 88622466347
9.6.5. PostScript и Ghostscript
К сожалению пользователей, фирмы-производители принтеров долгое время не могли достигнуть согласия в вопросе о выборе управляющих сигналов для производимых ими устройств. В результате для каждого принтера до сих пор необходим особый драйвер. Однако со времен так называемой «революции настольных издательских систем» 80-х годов в качестве в качестве стандартного языка управления принтером постепенно утвердился язык PostScript, разработанный фирмой Adobe Systems, Inc. И не только в UNIX-среде, а в издательском деле вообще.
Этот язык представляет собой специальный язык программирования для описания выводимой на печать страницы с текстом или графикой. Adobe Systems, Inc., изначально разработавшая стандарт на PostScript, открыла его для свободного распространения. Отметим еще, что формат PDF (Формат Переносимого Документа Adobe) — это в действительности чуть больше чем несколько преобразованный PostScript в сжатом файле.
Идея, заложенная в основу разработки PostScript, проста: все, что можно напечатать, описывается с помощью специального языка программирования, принтер же должен этот язык понимать. И принтеры, «понимающие» язык PostScript, т. е. имеющие встроенный PostScript-интерпретатор (так называемые PostScript-принтеры), быстро появились. К сожалению, они оказались стабильно дороже обычных принтеров. Тогда были разработаны программные PostScript-интерпретаторы, которые берут данные в формате PostScript и преобразуют в специфический для данного принтера управляющий код. Это дает вам виртуальный PostScript-принтер и позволяет использовать принтеры, не имеющие аппаратного интерпретатора.
Вероятно, одним из лучших программных интерпретаторов языка PostScript является Ghostscript (http://www.cs.wisc.edu/~ghost/), или просто gs. Он существует в двух вариантах. Коммерческая версия Ghostscript, называемая Aladdin Ghostscript или AFPL Ghostscript, свободна для персонального использования, но не может распространяться с коммерческими дистрибутивами Linux. В составе последних доступен GNU Ghostscript, представляющий собой тот же gs, только версией ниже и с другим лицензионным соглашением. На сегодняшний день можно загрузить версию AFPL Ghostscript 7.0, тогда как версия GNU Ghostscript — 5.5. В составе Ghostscript имеется внушительный набор фильтров — аппаратно ориентированных модулей, позволяющих получать изображение на различных устройствах. Устройствах, а не принтерах, поскольку Ghostscript может обеспечить вывод на любое графическое устройство. Именно gs присутствует в качестве фильтра в /etc/printcap — конфигурационном файле lpd. Опции запуска gs в качестве фильтра определяются типом принтера.
Читайте также
Работа со шрифтами TrueType и PostScript Type 1
Работа со шрифтами TrueType и PostScript Type 1 Библиотека GD поддерживает также работу со шрифтами PostScript и TrueType. Для того чтобы заработали приведенные ниже функции, PHP должен быть откомпилирован и установлен вместе с библиотекой FreeType, доступной по адресу http://www.freetype.org. В Windows-версии PHP
Совместное использование PostScript-принтеров
Совместное использование PostScript-принтеров В ходе предыдущего обсуждения не затрагивался вопрос об использовании драйверов. Этот вопрос чрезвычайно важен для разделения принтеров в системе Samba; драйверы принтеров часто становятся источником проблем. В системе Windows
Совместное использование принтеров, не поддерживающих PostScript
Совместное использование принтеров, не поддерживающих PostScript Существуют два способа настройки Samba для работы с принтерами, не поддерживающими PostScript. Первый способ заключается в использовании PostScript-драйвера на клиентской машине и настройке очереди печати Linux для
9.6.6. Шрифты для Ghostscript
9.6.6. Шрифты для Ghostscript Для пакета Ghostscript разработаны PostScript-шрифты, которые обеспечивают высокое качество печати на не-PostScript принтерах. Такие шрифты наверняка найдутся на вашем дистрибутивном диске в виде пакета ghostscript-fonts. Однако именно со шрифтами и связано большинство
8.2.9. Учебный пример: PostScript
8.2.9. Учебный пример: PostScript PostScript — мини-язык, специализацией которого является описание форматированного текста и графики для графических устройств. Данный язык был импортирован в Unix. Он основывался на разработке легендарного центра «Xerox Palo Alto Research Center», созданной во
8.2.9. Учебный пример: PostScript
8.2.9. Учебный пример: PostScript PostScript — мини-язык, специализацией которого является описание форматированного текста и графики для графических устройств. Данный язык был импортирован в Unix. Он основывался на разработке легендарного центра «Xerox Palo Alto Research Center», созданной во
Рецепт приготовления Win-принтера для печати из Linux 2 2
Статья была опубликована 1 февраля 2010 года в 00:00, а последний раз правилась 10 февраля 2020 года в 03:31.
Статья была обновлена в феврале 2008 года.
Статья была обновлена в феврале 2008 года. Ее модернизировал Anatoly Akatyev (anatoly.akatyev на master-system dot ru).
1. Предисловие
Перед нами стоит задача печати документов на Win-принтере (Canon MF3110) из Linux (ALT Linux Desktop 4.0.x; далее — ALD 4). Canon MF3110 подключен (USB-подключение) и настроен на Win-компьютере (Windows XP). На другом компьютере с Linux (стандартная установка ALD 4) настроена Samba. Оба компьютера входят в локальную сеть и видят друг друга.
2. Скачиваем необходимые программы
Для решения поставленной задачи я использовал следующий софт:
- RedMon — Redirection Port Monitor (redmon17.zip [592,7 КБ] с www.cs.wisc.edu/~ghost/redmon/)
- GhostScript for windows (gs8.61w32.exe [9,3 МБ] с www.cs.wisc.edu/~ghost/)
Этот софт понадобится для настройки виртуального (физически не существующего, но корректно распознаваемого в Linux, например, HP LaserJet 4M Foomatic/Postsript) принтера на Win-компе, на который будем отправлять с Linux-компьютера (через Samba) задания, а он в свою очередь будет их «перенаправлять» (печатать) на реальный Win-принтер (Canon MF3110).
P.S. Не знаю, почему авторы других статей на эту тему рекомендовали дополнительно устанавливать еще и GSView — поставленная задача вполне решается предлагаемым минимумом софта.
3. Устанавливаем программное обеспечение
Здесь все операции выполняются на Windows-компьютере.
- Разворачиваем Redirection Port Monitor redmon17.zip, например, в каталог: c:\redmon
- Выполняем его установку: c:\redmon\setup.exe
- Выполняем установку GhostScript: gs8.61w32.exe. По умолчанию GhostScript устанавливается в c:\Program Files\. Внимание! Мы установим gs8.61w32.exe в c:\gs\ и далее будем отталкиваться от этого.
4. Устанавливаем виртуальный принтер
Все операции по-прежнему выполняются на Windows-машине.
-
Открываем Блокнот (а еще лучше — редактор в Far) и создаем файл настроек параметров c:\gs\mswinpr.rsp для GhostScript, чтобы он мог работать с Win-принтером (Canon MF3110). В него скопируйте (или наберите руками) следующие строки:
-IC:\gs\gs8.61\lib;C:\gs\fonts -sDEVICE=mswinpr2 -dNOPAUSE -dSAFER -sPAPERSIZE=a4 -sOutputFile="%printer%Canon MF3110"
Кажется, перечистил всех 🙂
- Надо признать, что в процессе решения этой задачи я потратил достаточное количество времени. Однако надеюсь на то, что этот документ позволит другим достигнуть желаемого результата гораздо быстрее.
- По личным ощущениям, сравнивая печать на Win-принтере (Canon LBP-810) непосредственно из Win4Lin и через виртуальный HP LaserJet 4M, в последнем случае производительность несколько выше (+ неограниченная возможность прямой печати не только из Windows-приложений в Win4Lin, но и из Linux-программ).
- Меня не покидает уверенность в том, что описанный рецепт на 100% будет работать с любым принтером независимо от способа подключения (USB/LPT).
-
Популярные в этом разделе:
- «Работа с USB-ключом eToken PRO под Slackware 12.2»,
- «Настройка мультимедийной клавиатуры»,
- «Рецепт приготовления Win-принтера для печати из Linux».