我有网络打印机。新打印机是 Kyocera P2135dn,可以直接处理 PDF 文档:当我将 pdf 文件拉入打印后台处理窗口时,文件会正确打印,不会弹出任何驱动程序对话框窗口,我相信没有涉及 Adobe 工具。如果我通过 USB 闪存驱动器将相同的 pdf 文件带到打印机,它也会打印得很好。
现在我在一个文件夹中有几百个 pdf 文件(所有文件都很好地命名为 0001.pdf 等),我想通过 Windows 命令行将它们发送到打印机。
(背景:下一步,我想将数百个命令包装在 Phyton 脚本中,但首先我想“手动”学习和测试它。)
过去,我们曾使用过 GSview 工具中的 GSprint。它仍在运行,但内部会创建巨大的位图文件,渲染速度很慢,网络传输速度也很慢(尽管打印机的连接速度很快)。通常我每分钟只能打印大约四页,而我要打印数百页。(Artifex 的新 GSview 不包含任何 GSprint。因此,我们想找出一种新的工作流程。)
我只是在寻找正确的命令来将我的 pdf 发送到打印机,该打印机已通过标准 TCP/IP 端口正确配置。我正在使用 64 位 Windows 10 pro。
我设法在我的 Windows 上激活 lpr,并尝试(以防万一)发送文件,并将其发送出去;但它并没有被识别为有效的 pdf(不足为奇),打印机只是打印了大量乱码。
所以请告诉我需要什么命令才能通过网络将“二进制”发送到我的打印机。我会仔细阅读并希望弄清楚语法。我相信命令行是最好的 - 稍后集成到 Phyton 脚本中。但 Power Shell 命令也可能对我有帮助。
(如果您想发送示例,那就太好了,但这是可选的。)
文件如下,例如:C:\Users\martin\MyDocument.pdf
打印机端口称为“192.168.0.200”(这是它的名字,没有拼写错误)
谢谢。
答案1
大多数打印机无法直接打印 PDF。有些可以,但几乎所有打印机都需要通过一些特殊的打印机特定命令将 PDF 发送到打印机。对于 Kyocera 打印机,命令为“京瓷网络直接打印“。请注意,仅 Windows 版本可用。
从命令行将 PDF 发送到打印机的唯一其他方法是使用具有合适命令行选项的 PDF 阅读器。旧版本的 Adobe Acrobat Reader 具有此功能,但不再受支持。但是,其他一些 PDF 阅读器(如 Foxit Reader)仍然具有此功能。这应该比 GSprint 快得多。要使用 Foxit 打印 PDF,请使用以下命令:
Foxit Reader.exe" /t "文件名
答案2
LibreOffice 也有这个功能。在询问了周围人并尝试使用 LibreOffice 打开 PDF 后才发现的 :) 无需显示 GUI 即可运行。
"\Program Files\LibreOffice\program\soffice.exe" -p <pdffile>
或者
"\Program Files\LibreOffice\program\soffice.exe" -pt <"Printer name"> <pdffile>
答案3
/B
对于 Windows,在 cmd 中只需使用参数(二进制)复制到打印机共享:
COPY /B File.pdf \\PrintServerComputername\PrinterShareName
注意 ACL。
PrintServerComputername 之前必须有两个反斜杠字符。看来在发布时它们被转换为一个。
答案4
NetDirectPrint 的命令行:
KMDP.exe "pdffile.pdf" /s "default.bin"
保存设置之前设置打印机(.bin
-file)