Как проверить, включен ли принтер CUPS?

У нас есть окно в сети и общие принтеры на них.

Я добавил их через веб-интерфейс CUPS, и все они работают как шарм, мы можем печатать их по php:

exec('lp -d vasosamsung file.pdf');

Прохладный. Я искал класс Printer, что делает некоторую проверку перед запуском задания на печать.

Первое, что я проверяю, это принтер существует:

lpstat -p vasosamsung

Если это не говорит, назначение недействительно, тогда да, перейдите. И вот эта сложная часть.

Если ответ простаивает или печатается, все в порядке, давайте отправим задание.

BUT!

Проблема в том, что принтер говорит о простоях, потому что на моей машине принтер добавлен в список принтеров, но, к сожалению, он отключен. Это то, что я хочу поймать. Появляется больше проблем.

Хорошо, я могу справиться с этим, задания находятся в очереди, даже если сам принтер отключен (вытащен из машины).

Реальная проблема заключается в том, что, когда я удалял весь принтер с моих «Принтеров и устройств» с помощью правого клика и удаления устройства, CUPS говорит, что он не работает. Я перезапустил CUPS с помощью service cups restart и получил stat:

printer vasosamsung is idle. enabled since Thu 06 Apr 2017 03:34:26 PM CEST

Это неверно. Теперь на моей машине теперь есть принтер. Хуже всего, если я отправлю ему документ, он говорит:

string(40) "request id is vasosamsung-71 (1 file(s))"

, и задание находится в веб-интерфейсе:

vasosamsung-71 Unknown Withheld 1933k 1 held since

Чт Апр. 6 15: 59:43 2017

Мой вопрос: есть ли способ получить физический статус принтера? Offline, печать и т. Д. ... не из CUPS?

Если это невозможно, могу ли я как-то получить, принтер находится в списке устройств на целевой машине, по крайней мере?

BUT!

Хе-хе, когда я выключил свою машину, принтер тоже не работает:)

Я думаю, это потому, что принтер vasosamsung находится в CUPS, и это не фискальное устройство, теперь я вижу, но мои вопросы по-прежнему остаются.

0
задан 6 April 2017 в 17:22

0 ответов

Другие вопросы по тегам:

Похожие вопросы: