我正在尝试使用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 打印的经验吗?
答案1
编辑文件的副本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
答案2
尝试以下行:
c:\...>ipptool -vt -f [name of your URF file] ipp://name.local.:631/ipp/printer print-job.test
并将 URF 文件放在与您的文件相同的位置.test
。此外,建议ipptool
也将 放在相同的位置。
答案3
不久前我创建了一个应用图像的IPP 示例软件现在不仅包括ipptool
,而且还ippserver
可以在您的本地网络中模拟虚拟 IPP 打印机。
- 如需下载,请访问:https://github.com/KurtPfeifle/ippsample/releases
- 这是 IPP 示例软件的直接链接应用图像
(什么是 AppImage?这是由多个文件组成的软件包——甚至包括多个不同的工具、应用程序或实用程序——捆绑成一个压缩文件。只需使其可执行并在任何 Linux x86_64 发行版上从任何位置运行它即可。)
我还创建了一个 ASCIInema 电影,演示了 ippsample 包的用法以及ipptool
:
答案4
ipptool -v -tf /path/to/your.pdf -d filetype=application/octet-stream -I http://printer-url/ipp /usr/share/cups/ipptool/print-job.test