|
|
|
Мониторинг печати
|
|||
|---|---|---|---|
|
#18+
Друзья, подскажите есть ли библиотеки (delphi) для мониторинга печати. Возможно платные. В основном нужно контролировать количество распечатанных страниц, размер бумаги. Ну и сопутствующие вещи: состояние принтера, IP-адрес, имена пользователей. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2018, 18:52 |
|
||
|
Мониторинг печати
|
|||
|---|---|---|---|
|
#18+
Нет. Чтобы был доступ к сетевому принтеру и его данным, нужна соответствующая поддержка от этого самого принтера, которую еще и включить надо в винде. И у разных моделей это всё разное (т.е. у кого-то можно вытащить данные, а у кого-то не получится). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2018, 18:59 |
|
||
|
Мониторинг печати
|
|||
|---|---|---|---|
|
#18+
Петр, Начни отсюда http://www.delphitricks.com/source-code/printing/list_printjobs_in_a_printerqueue.html ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2018, 18:59 |
|
||
|
Мониторинг печати
|
|||
|---|---|---|---|
|
#18+
ПетрДрузья, подскажите есть ли библиотеки (delphi) для мониторинга печати. Возможно платные. В основном нужно контролировать количество распечатанных страниц, размер бумаги. Ну и сопутствующие вещи: состояние принтера, IP-адрес, имена пользователей. Вот еще советуют через WMI. Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2018, 19:02 |
|
||
|
Мониторинг печати
|
|||
|---|---|---|---|
|
#18+
ok, спасибо посмотрю. Если у кого еще будут мысли, буду признателен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2018, 19:05 |
|
||
|
Мониторинг печати
|
|||
|---|---|---|---|
|
#18+
У меня что-то в голове вертится про печать через диспетчер и напрямую... Или такого выбора сейчас нет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.02.2018, 08:50 |
|
||
|
Мониторинг печати
|
|||
|---|---|---|---|
|
#18+
Kast2KПетр, Вместо самописного используем это https://www.ysoft.com/ru/ru/print-management в моем случае нужен именно самописный вариан wadmanУ меня что-то в голове вертится про печать через диспетчер и напрямую... Или такого выбора сейчас нет? в сам процесс печать приложение не должно вмешиваться. Только контроль. Клиентская часть может быть установлена на все компьютеры. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.02.2018, 17:01 |
|
||
|
Мониторинг печати
|
|||
|---|---|---|---|
|
#18+
Петр, пробуй предложенный wmi, если заработает, то и клиентов ставить не придётся, только что настроить, что бы wmi раздавался наружу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.02.2018, 21:09 |
|
||
|
Мониторинг печати
|
|||
|---|---|---|---|
|
#18+
Петр, как тебе советовали - делай через wmi, у нас была разработана win служба для сбора статистики печати, работает не первый год. Текущее состояние, вплоть до статуса текущего состояния распечатывания, тоже wmi позволяет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.02.2018, 08:41 |
|
||
|
Мониторинг печати
|
|||
|---|---|---|---|
|
#18+
xMailerПетр, как тебе советовали - делай через wmi, у нас была разработана win служба для сбора статистики печати, работает не первый год. Текущее состояние, вплоть до статуса текущего состояния распечатывания, тоже wmi позволяет. Как у вас решается вопрос сетевых принтеров и автономных машин, на которых печать и ксерокопирование происходит без участия клиентских машин? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.02.2018, 10:41 |
|
||
|
Мониторинг печати
|
|||
|---|---|---|---|
|
#18+
JaDiКак у вас решается вопрос сетевых принтеров и автономных машин, на которых печать и ксерокопирование происходит без участия клиентских машин? 1. Печать на сетевые принтеры: в нашем случае печать идет через принт-сервер с win и проходит через журнал на сервере с eventID=307. И да, подтверждаю, на клиентской стороне только eventid=306,821, что не позволит отследить детали печати, которые есть в EvID=307. В Вашем случае, посмотрите на журнал событий компа к которому подключен принтер, т. е. пользователь "А" печатает на расшаренный принтер пользователя "Б", у "А" - в журнале ерунда, что у "Б"? я не могу проверить 2. Автономные машины: у нас служба льет данные не напрямую в основную базу, а через локальную fb базу, т.е. накопление происходит в локальной базе, при доступности сети сливает в основную. Вариантов осуществлять пересыл с локальной в основную базу достаточно много. 3. Ксерокопирование: тут все организовано по другому, через журналы это не отследить, но у нас принтеры/копиры - hp, и на каждом настроена средствами самого копира слив суточной статистики на спец. ящик почтовый. По cron проверяем ящик, парсим офигительно мудреный xml, заносим статистику в базу. Как-то так ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.02.2018, 09:37 |
|
||
|
Мониторинг печати
|
|||
|---|---|---|---|
|
#18+
xMailerПетр, как тебе советовали - делай через wmi, у нас была разработана win служба для сбора статистики печати, работает не первый год. Текущее состояние, вплоть до статуса текущего состояния распечатывания, тоже wmi позволяет. через WMI я могу обратиться к Win32_PrintJob. Но как я понимаю надо обращаться во время печати? Т.е. надо понимать, что пошла печать. Как это сделать? Отслеживать события, но какие и как? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2018, 12:07 |
|
||
|
Мониторинг печати
|
|||
|---|---|---|---|
|
#18+
Петрчерез WMI я могу обратиться к Win32_PrintJob. Но как я понимаю надо обращаться во время печати? Т.е. надо понимать, что пошла печать. Как это сделать? Отслеживать события, но какие и как? я таких событий не нашел, только периодический (500ms) опрос Win32_PrintJob. В моем случае печать стартовала через контекстное меню проводника, это и было началом пуска таймера опроса. Если использовать данный метод для подсчета статистики, способ не надежен, если документ небольшой - можно пропустить, я ушел на опрос Win32_NTLogEvent с EventCode=307. Если найдете win событие старта, то было бы интересно увидеть. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2018, 13:35 |
|
||
|
Мониторинг печати
|
|||
|---|---|---|---|
|
#18+
xMailer я ушел на опрос Win32_NTLogEvent с EventCode=307. а опрашиваете как ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2018, 13:49 |
|
||
|
Мониторинг печати
|
|||
|---|---|---|---|
|
#18+
xMailerПетрчерез WMI я могу обратиться к Win32_PrintJob. Но как я понимаю надо обращаться во время печати? Т.е. надо понимать, что пошла печать. Как это сделать? Отслеживать события, но какие и как? я таких событий не нашел, только периодический (500ms) опрос Win32_PrintJob. Микрософт же уже все придумал для вас FindFirstPrinterChangeNotification + WaitForSingleObject + FindNextPrinterChangeNotification, все данные приходтят по мере поступления. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2018, 03:05 |
|
||
|
Мониторинг печати
|
|||
|---|---|---|---|
|
#18+
ЛисьМикрософт же уже все придумал для вас FindFirstPrinterChangeNotification + WaitForSingleObject + FindNextPrinterChangeNotification, все данные приходтят по мере поступления. проверил, да, эта связка работает. Гуглите FindFirstPrinterChangeNotification ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2018, 09:09 |
|
||
|
Мониторинг печати
|
|||
|---|---|---|---|
|
#18+
Столкнулся со следующей проблемой: при использовании FindFirstPrinterChangeNotification, а именно при вызове функции OpenPrinter у пользователя с обычными правами Windows, получаю ERROR_ACCESS_DENIED. Т.е. ему надо назначить права на принтер (как я понял PRINTER_ACCESS_USE). Но никак не могу понять как это сделать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2018, 17:12 |
|
||
|
Мониторинг печати
|
|||
|---|---|---|---|
|
#18+
проблема оказалась при объявлении принтера Код: pascal 1. 2. 3. 4. Странно, но если убрать Код: pascal 1. , то работает без ошибок у пользователей ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2018, 18:57 |
|
||
|
Мониторинг печати
|
|||
|---|---|---|---|
|
#18+
Петр, так ты требуешь открыть управление принтера, административный функции само собой, что не у всех пользователей есть права доменного админа ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.02.2018, 13:01 |
|
||
|
Мониторинг печати
|
|||
|---|---|---|---|
|
#18+
Возникла следующая проблема. Как идентифицировать принтер? Т.е. не просто по его имени в Windows, а что-то уникальное типа MAC-адреса. Для чего нужно: - имена принтеров в сети могут повторяться - принтеры могут перемещаться с места на место. Возможно ли это ? и если да то как? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.02.2018, 19:45 |
|
||
|
Мониторинг печати
|
|||
|---|---|---|---|
|
#18+
Петр, Если по каким-то причинам не удастя выведать это у WMI. то можно и напрямую у принтера спросить: Printer model information, configuration, printer feature settings, and other printer status information can be obtained using PJL pjltkref.pdf Берем в руки клиентский сокет, 1 шт. подключаемся им на порт 9100 и спрашиваем кто там сидит, и что он о себе думает. Все это на языке PJL (если, конечно, принтер его понимает, что чаще всего так.) А вообще, в свое время я писал прокси-принт сервер. Все задания на печать от клиентов сначала летят на него, а он уже сам раздает их для настоящих принтеров. Ну, и отслеживает успешность печати, заботится о сохранении очереди при сбоях, логирует и сохраняет распечатанные документы в архив (для просмотра и повторной печати). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2018, 23:18 |
|
||
|
Мониторинг печати
|
|||
|---|---|---|---|
|
#18+
Топикстартеру: знаю лично автора данного ресурса (и софта, соответственно): http://printstore.ru. Человек на мониторинге печати стал сильным экспертом. ПО пишет на C#, но мало ли... Быть может будет нелишним проконсультироваться на форуме, может подскажет что: http://printstore.ru/forum/ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2018, 23:34 |
|
||
|
|

start [/forum/topic.php?fid=58&startmsg=39598479&tid=2041193]: |
0ms |
get settings: |
8ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
277ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
66ms |
get tp. blocked users: |
1ms |
| others: | 279ms |
| total: | 658ms |

| 0 / 0 |
