2

我正在寻找一种方法来处理发送到打印机的数据(现在是喷墨打印机。可能是 HP 2460)。我想在打印机每次尝试打印时动态更改数据。

IE。在第 1 点,打印的页面将保持正常,但纸张可能会改变其位置,因此我正在寻找一种方法来旋转输入图像以对抗纸张的旋转。

我正在寻找一种方法来实时指定要逐像素打印的数据。

可用数据输入:

  1. 回转
  2. 实时提供的每个瞬间打印头相对于页面角落的位置

到目前为止我所拥有的:

我见过一个实例,其中特定的 HP 喷墨打印机被修改为直接在 arduino 上工作,但我现在想直接从计算机上进行操作,原因有两个:

  1. 我需要尽快提交概念验证系统
  2. 我没有很容易访问逻辑分析仪/示波器来对通信协议进行逆向工程(也可能是专业知识)。

我正在调查PostScriptGhostScript但据我所知,我将无法动态修改数据(仍在试图弄清楚,如果我错了,请原谅我)。这种方法行得通吗?还是我需要查看驱动程序或其他东西?

我知道提出问题的限制以及研究不周的问题是如何被皱眉的。我仍在努力弄清楚如何完成这项工作,并且一直在研究我脑海中出现的所有事情,并且在浏览过程中遇到了问题。但是,到目前为止,我所看到的似乎都无法做我想做的事(或者我错过了它)。我问这个问题是希望得到一些关于要研究什么的指示。

4

3 回答 3

1

如果你的意思是操纵每一页,即这个页面横向下一页纵向等,那么我会处理后记输入,甚至不考虑具体的硬件通信。

另一方面,您想在打印开始后抓住打印头并实时操作,那么该方法显然取决于特定的打印机。

于 2013-01-27T14:08:35.990 回答
1

如果可能的话,我会尝试在更高的水平上做到这一点。最好是如果您控制后记的生成方式,那么您可以插入<<...>> setpagedevice以更改打印机参数。

于 2013-01-28T06:02:10.420 回答
1

一个问题是大多数打印机制造商已停止分发有关打印机命令语言的文档。

另一个问题是 ghostscript 输出设备已经过时了,比如点阵打印机。(见问题一)。

对于丝网打印输出应用程序,我对 epson 1400 打印命令语言进行了逆向工程,并编写了一个程序以将位图输出到打印机。然后我编写了一个基于 .bmp 驱动程序的 ghostscript 打印驱动程序,该驱动程序创建位图并将位图转换为 epson 命令。由于您想使用 HP,很遗憾,此代码无济于事。

走过那条路,我可以告诉你,这并不容易。喷墨打印机不允许旋转,因此您需要对喷墨打印机进行光栅化,然后重新创建旋转图像。Ghostscript 本身很难使用 gsprint 和 redmon 运行到打印机,但如果您已经有直立打印的 postscript 作业,则可以使用 postscript 命令旋转和移动图像。

我不明白你想要完成什么。您可以使用带有网络摄像头的电脑来预览方向,然后生成位图并将其打印到打印机,还是需要等到纸张就位后再生成打印数据?

于 2013-01-29T23:40:45.333 回答