Подсчет количества напечатанных страниц в C # - PullRequest
5 голосов
/ 19 октября 2011

Я разрабатываю монитор катушек печати для подсчета количества страниц, которые печатаются на определенном принтере.

Я новичок в этой области, поэтому в качестве справки я использую следующую статью.

Монитор печати

Теперь у меня есть требование подсчитывать двусторонние страницы (дуплекс) и односторонние страницы отдельно.Как я могу это обнаружить?

1 Ответ

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

В лучшем случае это сложно.Чтобы сделать это правильно, вам нужно запустить вывод (PCL / PS / XPS) через RIP (процессор растровых изображений), который может преобразовать язык во что-то, что на самом деле выводит принтер, и посмотреть, что получится.Вы можете посмотреть файл для дуплексных кодов на языке, который используется для печати, но вы можете столкнуться с проблемами, так как дуплекс может быть включен и выключен повсюду.Кроме того, различные производители могут поместить это в пользовательский PJL в начале работы, а не в стандартное кодирование PCL или PS в самом потоке данных.

Если точность не является большой проблемой, то вы можете проанализировать данные иПридумайте некоторые цифры, но вы никогда не будете точны, особенно если файл явно не имеет дуплексного режима или выключен, а принтер включен.В этом случае он будет дуплекс, и вы никогда не будете знать.Чтобы добавить к этому, пользователь может распечатать несколько страниц (4 страницы на одном листе).Если они сделают это через приложение, оно сообщит 1 страницу.Если они делают это в драйвере принтера, он может пропустить 4 страницы и позволить принтеру выполнить макет, в этом случае вы будете сообщать о 4 страницах, а не о 1. Другой случай - это пользователь, которому нужно 100 копий одностраничного документа.Диспетчер очереди печати может сообщить только одну страницу, потому что принтер собирается выполнить работу по созданию нескольких копий.

На рынке существует множество инструментов для сбора этих данных.Точные, как правило, получают данные с устройства после печати задания.Большинство современных принтеров имеют возможность отслеживать напечатанные страницы и пользователей и т. Д.

Извините, у меня нет более приятного / счастливого ответа для вас.Удачи.

...