Windows 10下如何实现PDF文档的Generic/Raw模式打印?
解决方案:在Windows 10中向远程网络打印机发送原始PDF文档
我之前刚好碰到过一模一样的需求——要把PDF原封不动发送给远程网络打印机,不能做任何格式转换。下面是几个经过验证的可行方案:
方案1:手动添加Generic/Raw Print Queue驱动
Windows其实自带这个驱动,只是默认搜索时可能不会显示,得手动指定:
- 打开「设置」>「设备」>「打印机和扫描仪」,点击「添加打印机或扫描仪」
- 等系统搜索结束后,选择「我需要的打印机不在列表中」
- 选「通过手动设置添加本地打印机或网络打印机」,点击下一步
- 选择「创建新端口」,端口类型选「Standard TCP/IP Port」,点击下一步
- 输入远程打印机的IP地址或主机名,端口名保持默认即可,完成端口创建
- 在「安装打印机驱动程序」界面,左侧厂商选「Generic」,右侧找到「Generic / Raw Print Queue」
如果找不到这个选项,点击界面上的「Windows更新」按钮,等待微软推送驱动列表,刷新后基本就能看到
- 完成安装后,打印PDF时选这个打印机,系统就会直接把原始PDF数据流发送给打印机,和Ubuntu下的效果完全一致
方案2:用命令行直接发送原始PDF
如果不想折腾驱动安装,可以用Windows自带的lpr命令直接发送:
- 先确认远程打印机的IP地址(比如
192.168.1.100) - 打开命令提示符(CMD),执行以下命令:
这里的lpr -S 192.168.1.100 -P RAW C:\your\file\path\document.pdfRAW是指定打印机的原始接收端口,绝大多数网络打印机都支持用这个端口接收原始PDF数据
方案3:使用第三方轻量工具
如果觉得命令行麻烦,可以用PDFtoPrinter这个工具,它专门用来直接发送原始PDF到打印机:
- 下载后无需安装,直接在命令行运行:
它会绕过Windows的打印驱动转换流程,直接把PDF的原始字节流发送给打印机,保证文档结构完全不变PDFtoPrinter.exe "C:\path\to\your.pdf" "你的打印机名称"
补充说明
- 「Generic/Text only」驱动不行的原因:它会把PDF当成纯文本解析,自然丢失所有格式和图片,根本没法正确打印PDF
- 「Microsoft PDF」驱动的定位是把打印内容转换成新的PDF文件,而不是发送数据到打印机,所以它会把原PDF内容渲染成图片再打包,完全不符合你的需求
内容的提问来源于stack exchange,提问作者fiction




