Windows 10 通用/原始打印 PDF 文档?

Windows 10 通用/原始打印 PDF 文档?

as it is我需要的是使用按钮将 PDF 文档直接发送到远程网络打印机,无需进行任何更改Print

在 Ubuntu 中我只使用Generic / Raw Queue驱动程序,一切正常。

Windows 10 的问题是我找不到Generic / Raw Queue驱动程序,这里只有Generic / Text only驱动程序,无法打印 PDF。

我尝试使用Microsoft / PDF to file驱动程序,但它改变了 PDF(改变了 PDF 结构,它用 1 张我不需要的图像替换所有内容)。

有什么建议吗?或者有人可以给我发送一个不会更改文件的驱动程序,然后重新发送它?

答案1

如果您的打印机直接理解 PDF(大多数打印机需要一些实用程序),您可以尝试使用以下命令将其发送到打印机:

LPR -S 打印机 IP 地址 -P 队列名称 文件名.PDF

队列名称参数是特定于打印机的。您可以尝试 PDF 或 RAW。如果这些不起作用,您需要查阅打印机的文档。

如果您不想输入命令,这里有一个用户友好的解决方案。使用记事本创建一个包含命令的文件

LPR -S 打印机 IP 地址 -P 队列名称 %1%

将此文件命名为 PrintPDF.bat 并将其(或指向它的链接)放在桌面上。现在您可以从 Windows 资源管理器中将 PDF 拖到此图标上,然后它将被发送到打印机。

答案2

以下是如何在 Windows 10 上设置 LPR/LPD 打印机。

安装 Windows 组件

  • 单击“开始”按钮,然后控制面板
  • 点击程序和特点然后单击左侧边栏中的**打开或关闭 Windows 功能
  • 扩张打印和文件服务,并确保旁边的框LPD 打印服务LPR 端口监控已检查
  • 单击“确定”并按照屏幕上的说明进行操作,直到组件安装完成。

图片1

创建打印机

  • 开始高级打印机设置
  • 点击我想要的打印机未列出
  • 查看使用手动设置添加本地打印机或网络打印机
  • 点击下一个
  • 查看创建新端口
  • 在下拉列表中选择标准 TCP/IP 端口
  • 点击下一个
  • 输入 IP 地址
  • 取消选中 查询打印机并自动选择要使用的驱动程序
  • 点击下一个
  • 离开标准通用网卡对于设备类型,然后单击下一个

图片2

  • 选择通用的对于制造商并选择通用/仅限文本对于打印机类型,请单击下一个

图片3

  • 输入打印机的名称
  • 点击结束添加打印机

来源

答案3

我需要的是将 PDF 文档直接发送到远程网络打印机,不做任何更改,使用“打印”按钮。

对于大多数应用程序来说,使用“打印”按钮无法实现这一点,因为您使用的应用程序正在尝试与非原始打印机驱动程序通信,而您明确希望绕过这些功能。相反,您应该直接将原始流发送到打印机。要在 Windows 中实现这一点(没有使用打印按钮)

  1. 在网络上共享打印机。
  2. 来自cmd(或 PowerShell 等):echo sample.pdf > \\computer\printer

或者使用以下编程语言JScript

"use strict";
var fso = new ActiveXObject("Scripting.FileSystemObject");
fso.CopyFile("sample.pdf", "\\\\computer\\printer", true);

让应用程序以这种方式运行并不常见。大多数能够打开和呈现 PDF 的应用程序都没有绕过驱动程序的能力。这只是惯例。底层语言(例如 C++、Java)确实有针对原始数据风格的技术,但它并不是您描述的“打印”按钮通常所关联的东西。

在 Ubuntu 中我只需使用Generic / Raw Queue driver,一切正常。

Ubuntu 操作系统中的哪个应用程序允许这样做?一般来说,CUPS 将使用 Ghostscript,并且会遭受与 Microsoft PDF 驱动程序类似的转换。我不同意在 Ubuntu 上发送的 PDF 数据是“未修改”的说法。更有可能的是,它确实被修改了,但修改后的版本更受欢迎。如果您是对的,并且字节流未被修改,那么这似乎更像是 CUPS 的隐藏功能,而不是 WinSpool 的问题。

相关内容