crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в данную темуНачать новую тему
> [РЕШЕНО] RAW Printing, Передать принтеру plain текст (язык печати EPL)
512es
  опции профиля:
сообщение 17.2.2010, 21:25
Сообщение #1


Участник
**

Группа: Участник
Сообщений: 135
Регистрация: 31.10.2008
Пользователь №: 407

Спасибо сказали: 5 раз(а)




Репутация:   0  


Собственно, сабж.

Принтер Zebra LP 2824


На C# нашёл пример, делается вот так:
RawPrinterHelper.SendStringToPrinter(printerName, sb.ToString());

http://nicholas.piasecki.name/blog/2009/03...a-lp2844-via-c/


Подскажите, как можно сделать это в Qt?

Сообщение отредактировал 512es - 22.2.2010, 14:59
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 17.2.2010, 21:35
Сообщение #2


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


в Qt с принтером работают, как с устройством рисования. Вроде по другому ни как.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
512es
  опции профиля:
сообщение 17.2.2010, 22:10
Сообщение #3


Участник
**

Группа: Участник
Сообщений: 135
Регистрация: 31.10.2008
Пользователь №: 407

Спасибо сказали: 5 раз(а)




Репутация:   0  


Цитата(Litkevich Yuriy @ 17.2.2010, 21:35) *
в Qt с принтером работают, как с устройством рисования. Вроде по другому ни как.


Да, знаю. Но можно же как то обойти это? Через QPrinter мы можем найти название принтера и его порт. А дальше уже посылать данные напрямую.. Например, даже с помощью обычной виндовой утилиты copy можно выводить на печать (так, кстати написано в мануале по EPL)
Цитата
COPY asa.txt \\127.0.0.1\ZebraLP2


Сообщение отредактировал 512es - 17.2.2010, 22:10
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 17.2.2010, 22:17
Сообщение #4


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Цитата(512es @ 18.2.2010, 1:10) *
даже с помощью обычной виндовой утилиты copy можно выводить на печать
ну можно извернутся и через QProcess вызвать эту утилиту
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
512es
  опции профиля:
сообщение 17.2.2010, 23:47
Сообщение #5


Участник
**

Группа: Участник
Сообщений: 135
Регистрация: 31.10.2008
Пользователь №: 407

Спасибо сказали: 5 раз(а)




Репутация:   0  


Цитата(Litkevich Yuriy @ 17.2.2010, 22:17) *
ну можно извернутся и через QProcess вызвать эту утилиту

Да, можно.. Если другого решения не найду, похоже придётся именно так делать. Но всётаки не нравится мне такой способ.. Да и не кроссплатформенный он совсем.. Хотя для линукса тоже скрипт можно набросать чтобы печатал..

Есть ещё какие идеи?

Нашёл способ для линукса.. Как бы сделать так же только в винде..

QFile pr("/dev/usblp0");   // Device need 0666 permission to work.

if (pr.open(QFile::WriteOnly))
{
    QTextStream o(&pr);
    o << r;
}
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
512es
  опции профиля:
сообщение 18.2.2010, 0:20
Сообщение #6


Участник
**

Группа: Участник
Сообщений: 135
Регистрация: 31.10.2008
Пользователь №: 407

Спасибо сказали: 5 раз(а)




Репутация:   0  


Интересно, а получится через QFile писать в сетевой принтер? Ведь, по сути это то же что и copy.. Т.е. в винде сетевые принтеры - нечто похожее файлы устройств в лине?
Завтра попробую..
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
512es
  опции профиля:
сообщение 19.2.2010, 10:34
Сообщение #7


Участник
**

Группа: Участник
Сообщений: 135
Регистрация: 31.10.2008
Пользователь №: 407

Спасибо сказали: 5 раз(а)




Репутация:   0  


Итак, пример с QFile идеально работает с разшаренным виндовым принтером.
QFile pr("\\\\127.0.0.1\\ZebraLP2");


Вопрос решён =)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 28.3.2024, 15:58