如何以编程方式实现正常Windows打印队列’假脱机文件’的假脱机文件标题的编辑,然后才能将其发送到打印机?

如何在执行打印作业期间将此文件发送到打印机之前,如何拦截和更改Windows 7打印假脱机文件(.SPL)以在标题中添加一些附加信息,如’@PJL SET NAME =“PainPoint”’

从顶部开始的.SPL文件部分提取是:

%-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???........ 

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

我可以想到一些方法:

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

  4. VeryPDF有一些具有更多function的类似商业产品 。