问题标签 [virtual-printer]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
260 浏览

c# - 使用虚拟打印机而不是真实打印机进行开发

我想开发一个与打印后台处理程序通信的应用程序。该应用程序位于.Net 平台上。

我想访问打印文档的原始数据,但我想使用虚拟打印机来完成这项工作。但我无法从虚拟打印机获取数据,也无法在打印作业开始时引发事件。我检查了 Windows 系统文件,找不到 xps 打印机的假脱机程序。

我想问一下虚拟打印机有spooler吗?如果是,我该如何访问它,因为我在 Windows 文件中找不到它的假脱机程序?

我可以使用虚拟打印机来开发适用于真实打印机的应用程序吗?

任何帮助将不胜感激谢谢

0 投票
1 回答
630 浏览

printing - Ghostscript - 虚拟打印机输出仅为 A4

我正在为虚拟打印机使用 ghostscript,并根据本手册安装了它:http: //www.stat.tamu.edu/~henrik/GSPSprinter/GSPSprinter.html

问题是,无论文档有多大,它都会以 A4 打印所有内容。(或我在对话框中设置的)。我需要从 MS Word 打印文档,有时用 A3 有时用 A4,所以我没有设置默认纸张尺寸。

我现在的设置是这样的:

我试过了

但没有得到任何积极的结果。

你知道如何设置吗?

谢谢,劳拉

0 投票
1 回答
1519 浏览

c# - 如何在 Windows 中使用 UniDrv 或 XPS 驱动程序 v3 设置虚拟打印机和监视器

我正在尝试创建一个虚拟打印机来捕获我自己应用程序中应用程序的打印输出。

我已经成功实现了一个使用 Microsoft PostScript 驱动程序并生成 ps 文件的程序。 (很多代码摘自不同的开源项目)

但是,由于生产服务器上 GhostScript 的许可问题(它不是免费的商业解决方案),我想实现一个不同的驱动程序来生成 XPS 文件或我可以用来提取文本、转换为 PDF 的任何其他格式,提取每个页面的图像等。

我与 postscript 驱动程序一起使用并且实际上运行良好的代码如下:

安装打印机方法(没有正确的验证和记录):

所以这是一个问题:

如何使用不同的驱动程序,如 UniDrv 或 XPS 来实现虚拟打印机/监视器?.

我通过替换上面代码中的以下行来尝试使用 UniDrv:

当我运行该方法时,AddPrinterDriver我得到一个异常指示"The system cannot find the file specified"

它没有说缺少什么文件。我假设可能缺少一些依赖项,或者我发现的 sample.GPD 文件不好。

任何帮助将不胜感激。

0 投票
1 回答
3410 浏览

python - 将虚拟打印机的输出重定向到 Python 脚本

我的意图是实现以下场景:

  • Windows 或 Linux 用户发出打印文档的命令(使用 Ctrl+P)并在可用打印机列表中查看虚拟打印机(虚拟打印机)

  • 用户选择打印机并给出打印命令

  • 虚拟打印机不会实际打印,而是自动将文件连同选定的纸张大小、格式等一起发送到 python 脚本作为输入[可选地在将其转换为 PDF 之后]。

  • Python 脚本将文件上传到云或某个远程存储,稍后可以在需要时在物理打印机上检索和打印文件。

我已经参考了 StackOverflow 上类似现有问题的答案,并查找了 CUPS 和 CUPS-PDF。CUPS_PDF 是一台虚拟打印机,因此满足我的一个标准,但它不允许我处理发送用于打印的文件。我可以监视放置转换后的 PDF 的目录,并在每次目录更改时调用 python 脚本,但这远非理想的解决方案。

我尝试通过使用 FILE 打印机形式的 win32 API 在 Windows 中创建类似的东西,但它再次不允许我处理要打印的文件。

我还偶然发现了 Tea4CUPS,它是一种 CUPS 打印机的可编程后端,但我不确定如何利用它。我遇到的另一种选择是使用 Windows 驱动程序工具包 (WDK) 编写虚拟打印机驱动程序,但这似乎过于复杂,尤其是考虑到我需要虚拟打印机将要打印的文件重定向到我的 python 脚本这一事实。

我怎样才能实现我想要的场景?虽然我有 Python 经验,但在此之前我从未使用过虚拟打印机。

0 投票
0 回答
1038 浏览

google-chrome - Chrome:同时在多台打印机上打印

我们的公司政策强制我在工作中使用 Chrome 和 Gmail,我需要解决以下问题:

需要同时将打印作业从 Chrome 发送到多台打印机,但每台打印机的打印设置不同。基本上我需要将同一个文档链接到两台打印机,但每台打印机都有单独的页面布局设置。

  1. 如何将一个按钮编码到 Chrome 中来实现这一点?

  2. 或者,如何编写一个完全做到这一点的虚拟打印机?或者一般来说,如何在 Windows 7 中将一个文档链接到多个打印机?

  3. 可以使用 AutoIt 脚本(或类似脚本)解决问题吗?

  4. 这里的任何人都可能知道商业产品?已经尝试过Ricoh Print&Share,它可以将一个文档链接到多台打印机,但是这个工具缺少单个打印机的适合页面选项,并且只转发它从 Chrome 接收到的输出,而不需要重新调整每台打印机的页面大小。

感谢阅读,感谢您对我的打印机链问题的任何帮助。

问候,

马库斯

0 投票
1 回答
625 浏览

c# - c#添加一个打开wpf程序的虚拟打印机?

我已经为我的问题寻找解决方案,但我真的找不到。

我的问题是我想使用我编写的程序(wpf windows app)作为虚拟打印机。

该程序使用 commandLineArgs 并正在处理该文件。

驱动程序的目的不是供我个人使用,而是供公司使用,这就是为什么我正在为客户(即使是系统管理员或开发人员)寻找一个简单的解决方案。

我已经有了我的应用程序的安装程序,我需要的只是一个脚本文件,或者另一个可以“安装”虚拟驱动程序的代码

所以->

PDF 文件 -> “打印” -> 我的程序

并且,如果可能的话,将我的项目安装为虚拟打印机的脚本

我已经尝试通过创建一个打开我的程序来使用开源打印机++DLL,但它不起作用。我已按照教程进行操作,但类库从未显示在打印机列表中。

0 投票
0 回答
542 浏览

windows - printerplusplus 没有创建虚拟打印机

我正在使用Printer++作为虚拟打印机。一切正常。要重命名打印机,我卸载了打印机++,并从设备列表中删除了打印机。当我尝试重新添加它时,应用程序正在安装,但打印机未显示在设备和打印机中。这是日志文件消息。

2016 年 4 月 22 日下午 2:41:50 - 安装开始。2016 年 4 月 22 日下午 2:41:50 - 打印机名称:xxxxxxxxxxxxxxx 2016 年 4 月 22 日下午 2:41:50 - 设置驱动程序路径和文件。2016 年 4 月 22 日下午 2:41:50 - 添加打印机监视器。2016 年 4 月 22 日下午 2:41:50 - 添加打印机端口。2016 年 4 月 22 日下午 2:41:50 - 例外:无法打开监视器端口 PrinterPlusPlus 的打印机!2016 年 4 月 22 日下午 2:41:50 - 来源:AddVPrinter 消息:无法打开监视器端口 PrinterPlusPlus 的打印机!InnerException: System.Exception: 无法为监控端口 PrinterPlusPlus 打开打印机!在 PrinterPlusPlusSetupCustomAction.SpoolerHelper.AddVPrinter(字符串打印机名称,字符串键) 2016 年 4 月 22 日下午 2:41:50 - 来源:AddVPrinter 消息:来源:AddVPrinter 消息:无法打开监视器端口 PrinterPlusPlus 的打印机!内部异常:System.Configuration.Install.InstallException:来源:AddVPrinter 消息:无法为监控端口 PrinterPlusPlus 打开打印机!---> System.Exception: 无法为监控端口 PrinterPlusPlus 打开打印机!在 PrinterPlusPlusSetupCustomAction.SpoolerHelper.AddVPrinter(String printerName, String key) --- 内部异常堆栈跟踪结束 --- 在 PrinterPlusPlusSetupCustomAction.Installer.Install(IDictionary stateSaver) 2016 年 4 月 22 日下午 2:41:50 - 安装完成。

0 投票
1 回答
427 浏览

pdf-generation - Can user install virtual pdf (postscript) printer on Windows without admin rights?

Can user install virtual pdf (postscript) printer on Windows without admin rights?

By default (Ghostscript, doPDF...) require the admin right.

May be where is a some way to install virtual printer for user?

0 投票
0 回答
205 浏览

c# - LPD - 接收数据始终具有相同的长度

我正在使用这个现有的解决方案编写虚拟打印机。我对接收数据子命令有疑问。

每当我处理这个命令时,数据文件大小 - 计数 - 总是一些奇怪的大数字 - 125899906843000。我被困在这里,我无法找出为什么会发生这种情况。有人知道哪里有问题吗?谢谢


编辑:

我已经找到问题所在了。是我自己的问题的答案。问题是因为 Microsoft 发送了一个不可能的巨大数字,而不是文件的实际大小(以字节为单位)。有两种方法可以解决问题:

  1. 编辑虚拟打印机的 TCP/IP 端口并启用 LRP 字节计数。这会强制 Windows 计算文件中的字节数并在 Receive data file 子命令中发送该值。
  2. 修改 RPM 使其处理“未知长度文件”的情况,方法是从发送数据文件的请求中接收所有数据,直到连接被 LPR 客户端关闭。
0 投票
0 回答
354 浏览

c# - 用于重定向和 pdf 制作的虚拟打印机

我需要帮助或建议如何解决我的问题。我需要创建一个应该做这两件事的虚拟打印机(或其他东西):

  1. 它将传入的打印作业重定向到物理打印机
  2. 它检索打印的文档并将其转换为 pdf/jpg/png 或任何格式

我必须创建特别的虚拟打印机吗?然后我需要创建打印机驱动程序吗?我已经阅读了这篇关于在 Windows 中打印架构的文章。每台打印机都有自己的打印机驱动程序。这意味着假脱机程序随后会根据驱动程序修改打印作业。我怎样才能将这个修改后的工作发送给另一个 pritner?除了虚拟打印机之外,是否还存在另一种方法?感谢所有建议。