如何创建一个虚拟打印机?

问题描述 投票:0回答:1

我首先要指出,我可以用python、cc++、c#、ruby和js进行编码。因此,如果我需要编码的东西,这不是一个问题。我只是需要帮助得到正确的方向。

我想知道是否有办法在windows或linux上创建一个虚拟打印机。在我工作的地方,有一个软件可以创建报告,并在供应商的远程计算机上生成报告。然后供应商使用IP将打印作业发送到用户的本地打印机上。我希望能够创建一个虚拟打印机,将打印任务保存到网络上的某个地方,供我们的用户在需要时获取和打印。

linux windows printing driver postscript
1个回答
0
投票

如果他们将打印作业发送到网络打印机,那么一台计算机将需要取代打印机使用的IP地址。我有ghostscript与socat设置为监听端口9100的postscript文件。然后可以将其转换为 pdf 并保存文件。这将根据时间生成一个文件名,因为没有文件名被发送到端口9100。这将产生一个按时间排序的、充满pdf文件的目录。我还没有在515端口上试过这个,所以这取决于他们如何在网络上发送,因为515端口有LPD协议,而9100只是一个原始套接字。

#!/bin/sh
socat TCP4-LISTEN:9100,reuseaddr,bind=localhost SYSTEM:'gs -dQUIET -dNOPROMPT -dBATCH -sDEVICE=pdfwrite -sOutputFile=/tmp/\"$(date -Is)\".pdf -'

编辑:我只是在我的本地机器上使用这个,或者用于测试,所以删除bind=localhost,在网络IP地址上监听

© www.soinside.com 2019 - 2024. All rights reserved.