Тестирование IPP-печати с помощью ipptool
Я пытаюсь отправить задание на печать IPP с помощью ipptool. Используя примеры файлов.test, я могу отправлять команды на принтер, но не могу успешно использовать файл print-job.test.
Вот пример использования ipptool.
c:\...>ipptool -v ipp://name.local.:631/ipp/printer print-job.test
ipptool: Filename "$filename" on line 21 cannot be read.
ipptool: Filename mapped to "".
Похоже, что не удается разрешить переменную $ filename в тестовом файле, поэтому я попытался жестко закодировать это значение в тестовом файле. В этом случае я не получаю ошибку, но все еще нет печати.
У кого-нибудь есть опыт использования ipptool для тестирования ipp-печати?
4 ответа
Редактировать копию вашего print-job.test
файл и сохранить его как senloe---print-job.test
,
Ваша правка должна заменить переменные в следующих двух строках жестко закодированными значениями:
ATTR mimeMediaType document-format $filetype
FILE $filename
Замените их, например:
ATTR mimeMediaType document-format text/plain
FILE senloe---print-job.test
Это должно отправить ваш файл senloe---print-job.test
в виде простого текстового файла для принтеров.
Вам нужно будет использовать следующую командную строку (при условии, что у вас установлен CUPS локально):
ipptool -v -t ipp://localhost:631/printers/your-real-printername \
./senloe---print-job.test
Вы должны увидеть что-то вроде следующего вывода:
"./senloe---print-job.test":
Print-Job:
attributes-charset (charset) = utf-8
attributes-natural-language (naturalLanguage) = en
printer-uri (uri) = ipp://localhost:631/printers/ubuquitech
requesting-user-name (nameWithoutLanguage) = senloe
document-format (mimeMediaType) = text/plain
copies (integer) = 1
Print file using Print-Job [PASS]
RECEIVED: 171 bytes in response
status-code = successful-ok (successful-ok)
attributes-charset (charset) = utf-8
attributes-natural-language (naturalLanguage) = en
job-uri (uri) = ipp://localhost:631/jobs/24
job-id (integer) = 24
job-state (enum) = pending
job-state-reasons (keyword) = none
Если это работает, следующее также должно работать, теперь используя оригинальный тестовый файл print-job.test
(который содержит переменные) снова, и с использованием вашего отредактированного senloe---print-job.test
как файл для печати:
ipptool -v -t -f senloe---print-job.test \
ipp://localhost:631/printers/your-real-printername \
./print-job.test
Попробуйте эту строку:
c:\...>ipptool -vt -f [name of your URF file] ipp://name.local.:631/ipp/printer print-job.test
и иметь файл URF в том же месте, что и ваш .test
файл. Кроме того, рекомендуется иметь ipptool
в том же месте, а также.
Некоторое время назад я создал AppImage примера программного обеспечения IPP, который теперь включает в себя не только ipptool
, но также ippserver
который может эмулировать виртуальный принтер IPP в вашей локальной сети.
- Чтобы загрузить, посетите: https://github.com/KurtPfeifle/ippsample/releases
- Вот прямая ссылка на Образец программного приложения IPP Image
(Что такое AppImage? Это пакет программного обеспечения, состоящий из нескольких файлов - даже нескольких различных инструментов, приложений или утилит) - связанных в один сжатый файл. Просто сделайте его исполняемым и запускайте его из любого места на любом Linux x86_64 дистрибутив.)
Я также создал фильм ASCIInema, который демонстрирует использование пакета ippsample и использование ipptool
:
ipptool -v -tf /path/to/your.pdf -d filetype=application/octet-stream -I http://printer-url/ipp /usr/share/cups/ipptool/print-job.test