1

How to intercept and change the windows 7 print spool file (.SPL) to add some additional information in the header like '@PJL SET NAME="PainPoint" ' before this file is sent to the printer during the execution of the print job?

The .SPL file partial extract from top is :

%-12345X@PJL SET STRINGCODESET=UTF8
@PJL COMMENT DATE=02/08/2017
@PJL ENTER LANGUAGE=PCLXL
) HP-PCL XL;2;1;FXXPL2-1.0.0,WINNT-6.1,XPL2DRV-6.9.1.1
?X???........
4

1 回答 1

1

编辑假脱机文件显然是微不足道的。诀窍是如何访问假脱机文件。

我可以想到几种方法:

  1. 假脱机后暂停打印作业,编辑它,然后释放它。在这里查看我的答案。这不是微不足道的,您可能需要根据可用的时间/精力求助于第三方软件。
  2. 创建打印驱动程序或后台处理程序组件(例如端口或语言监视器)来编辑文件。(感谢 Carey Gregory 建议使用语言监视器)。这是一个很大的话题,您必须阅读大量文档才能弄清楚如何去做,但是 WDK 中有一个示例 (Pjlmon)。请注意,适用于 Windows 8/Server 2012 的较新 V4 驱动程序模型不支持这些组件
  3. 如果您不需要透明地执行此操作,您可以设置RedMon(免费)来调用您的应用程序来编辑假脱机文件。RedMon 然后将其发送到所需的打印机。

  4. VeryPDF 有一些类似的商业产品,功能更多。

于 2017-02-08T22:13:05.733 回答