реклама на сайте
подробности

 
 
> Печать из QT через свой драйвер растрового принтера, Как подключить свой спулер (или сделать печать через свой драйвер)
SM
сообщение Jan 15 2013, 16:31
Сообщение #1


Гуру
******

Группа: Свой
Сообщений: 7 946
Регистрация: 25-02-05
Из: Moscow, Russia
Пользователь №: 2 881



Что есть:

простую часть задачи я уже реализовал (дрова ядра, демоны, железо и общение с ним, в общем не касающееся графики напрямую):

- есть свой драйвер принтера (чисто растрового) в ядре, который представлен как character device, пусть /dev/rlp0. На это устройство можно выводить байты данных, биты которых интерпретируются как черно-белые пиксели, и можно выводить ESC-последовательности, которые интерпретируются как печать пиксельной строки, переданной до этого, переход к следующей строке (шаг движка протяжки вперед), и переход к предыдущей строке (шаг движка назад).

- есть свой простой спулер, который запускается в виде демона, обслуживает очередь печати в виде растровых черно-белых картинок, и имеет функции "добавить растровое изображение в очередь" и "очистить всю очередь и все остановить", которые доступны средствами IPC.

Я могу с легкостью написать программу (консольную разумеется), которая бы печатала картинку из любого известного формата храния изображений, на базе тест-программы, которой я все это проверял.

это все отлажено и работает.

Теперь вот воткнулся в сложную часть, где я даже не понимаю, с какой стороны подойти к вопросу. Нужно сделать, чтобы QT-приложение могло напечатать что-то на этом принтере. Либо через мой спулер (lpr/cups в системе не будет - драйвер для cups-то не проблема, там, в отличие от QT, все понятно, легко и прозрачно, но cups - монстр), либо напрямую на принтер, минуя спулер, что предпочтительнее. Задача видится вроде и несложной - QT сама формирует растровое изображение, и надо его лишь переправить в спулер или драйвер ядра. Но вот как это сделать - мне совершенно непонятно (я тупо смотрел в документацию QT (QPrintEngine), но совершенно не понял, как этому Engine передается изображение, и что она должна с ним сделать по реакции на какой метод). Как написать драйвер, который можно интегрировать в QT (я не писатель гуёв, не умею, но вот драйвера, и все прочее, не видимое глазу пользователя - моя стихия)? Принимаются любые советы, примеры, и ссылки на информацию.
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 20th July 2025 - 19:04
Рейтинг@Mail.ru


Страница сгенерированна за 0.01338 секунд с 7
ELECTRONIX ©2004-2016