gpt4 book ai didi

java - 在发送到打印机之前,如何以编程方式实现普通 Windows 打印队列 'spool file' 的假脱机文件头的编辑?

转载 作者:行者123 更新时间:2023-11-30 06:54:30 30 4
gpt4 key购买 nike

如何拦截和更改 Windows 7 打印假脱机文件 (.SPL),以在执行该文件发送到打印机之前在 header 中添加一些附加信息,例如“@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. 假脱机后暂停打印作业,对其进行编辑,然后释放。 See my answer here 。这并不是一件小事,您可能需要根据可用的时间/精力求助于第三方软件。
  2. 创建打印驱动程序或spooler component例如端口或 language monitor编辑文件。 (感谢 Carey Gregory 建议使用语言监视器)。这是一个很大的主题,您必须阅读大量文档才能弄清楚如何做到这一点,但 WDK 中有一个示例 (Pjlmon)。请注意,适用于 Windows 8/Server 2012 doesn't support these components 的较新 V4 驱动程序模型.
  3. 如果您不需要透明地执行此操作,您可以设置 RedMon (免费)调用您的应用程序来编辑假脱机文件。然后 RedMon 会将其发送到所需的打印机。

  4. VeryPDF 有一些 similar commercial products具有更多功能。

关于java - 在发送到打印机之前,如何以编程方式实现普通 Windows 打印队列 'spool file' 的假脱机文件头的编辑?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42102898/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com