动态更改打印数据

时间:2013-01-27 06:18:46

标签: printing ghostscript postscript

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

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

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

可用的数据输入:

  1. 旋转
  2. 打印头相对于页面角落的位置 每个瞬间实时提供
  3. 到目前为止我所拥有的:

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

    1. 我需要尽快提交概念验证系统
    2. 我无法轻易访问逻辑分析仪/示波器进行反转 设计通信协议(也可能不是专业知识)。
    3. 我正在研究PostScriptGhostScript但是根据我的理解,到目前为止,我无法动态修改数据(仍然试图弄明白,所以请原谅我,如果我是错误)。这种方法有用吗?或者我需要查看驱动程序或其他内容吗?

      我知道提问的限制以及不受欢迎的研究问题是多么令人不悦。我仍然在试图弄清楚如何完成这项工作,并且一直在研究我脑海中浮现的所有事情。但是,到目前为止,无论我看到什么,似乎都无法做我想做的事情(或者我错过了它)。我正在问这个问题,希望得到一些关于要研究什么的指示。

3 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:1)

如果可能,我会尝试在更高级别执行此操作。如果您控制后记的生成方式最好,那么您可以插入<<...>> setpagedevice来更改打印机参数。

答案 2 :(得分:1)

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

另一个问题是ghostscript输出设备无可救药地过时了,就像点阵打印机一样。 (见问题一)。

对于丝网印刷输出应用程序,我反向设计了epson 1400打印命令语言并编写了一个程序来将位图输出到打印机。然后我写了一个基于.bmp驱动程序的ghostscript printdriver,它创建了位图并将位图转换为epson命令。由于您要使用HP​​,因此遗憾的是此代码无效。

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

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