Перехват печати - PullRequest
       3

Перехват печати

0 голосов
/ 13 октября 2011

У нас есть несколько компьютеров, на которых мы берем плату за печать документов. Когда пользователь печатает, я хотел бы перехватить задание на печать, запросить у него имя пользователя / пароль, чтобы я мог зарядить его учетную запись, а затем разрешить продолжить печать задания на принтер.

Как это можно сделать? Можно ли написать такую ​​утилиту в .NET?

1 Ответ

1 голос
/ 14 октября 2011

Вам действительно нужно посмотреть на создание монитора порта для этого.Далеко не просто.Вы можете посмотреть на RedMon .КСТАТИ: Многие поставщики принтеров предлагают решения для этого, которые используют коды, которые встроены в поток печати (PCL / PS), а данные собираются и сохраняются на принтере.

Например, в Xerox есть нечто, называемое Стандартный учет,При включении в драйвер он встраивает PJL-коды, например:

@PJL COMMENT OID_ATT_ACCOUNTING_INFORMATION_AVP "XRX_USERID,xxxx";

После того, как задание было напечатано, устройство ссылается на пользователя, количество страниц и т. Д., О которых затем можно сообщить.

Проблема, с которой вы столкнетесь при работе на рабочей станции / сервере, заключается в том, что определение количества напечатанных страниц может быть затруднено.Если вы, например, пытаетесь взимать плату за страницу, вы можете проанализировать количество страниц в файле или выполнить через PCL или PS RIP и определить, но есть ли у них флаг для 2up или 4up на странице.и эта работа выполняется принтером, а не драйвером, с клиента будет взиматься плата за 4 страницы, когда они действительно напечатали только 1. Это одна из многих ловушек.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...