【问题标题】:How do I Get Print Job Documnet Name ( File Address )?如何获取打印作业文档名称(文件地址)?
【发布时间】:2011-10-26 12:14:01
【问题描述】:

我想获取打印作业的文件地址,我在 JOB_INFO_2 记录中有它的信息,它有一个名为“文档名称”的字段,但它不是文档“文件名称”! , 其 Just Caption of Window 已发送打印请求

是否可以获取作业的文件名/地址?

可以获取“DocumentName”的Window Handle,然后获取Handle的File Name(进程名称),但是如何获取Document File Name?

例如:我打开了一个 DOC 文件 win MS-Word ,通过上面的解决方案,我们可以得到 MS-Word 的 Exe 文件地址,但我想得到 DOC 文件的文件名/地址

此外,当 Document 是 Picture 时,没有 Caption !

【问题讨论】:

    标签: windows delphi printing


    【解决方案1】:

    不一定有这样的事情。您可以打印各种东西而无需先将其保存到磁盘,因此可能没有文件名。即使有,文件也不一定与发送到打印机的文件相匹配——人们总是打印东西而不先保存他们的更改。

    您似乎正在阅读的大多数字段只是信息性字段。打印应用程序不需要提供它们,并且当它提供时,它们不需要准确,因为 Windows 不需要它们来执行打印作业。他们很高兴让查看打印管理器的用户了解正在发生的事情。

    【讨论】:

    • 这不是答案。将输出重定向到与打印机不同的设备但使用打印假脱机时需要的打印作业名称。示例:PDFCreator。
    • 你的例子还不够,@Celerno。我需要的不仅仅是一个词来说明你的意思。请进一步解释。程序没有义务为其打印的内容提供文件名。虚拟打印机不能期望接收文件名。打印作业的名称不一定是文件的名称,当然也不需要引用磁盘上的实际文件。我已经通过解释它是如何无法回答的来回答这个问题,因为它的前提是有缺陷的。如果您愿意,欢迎您提供替代答案。
    猜你喜欢
    • 1970-01-01
    • 2018-05-31
    • 1970-01-01
    • 2012-08-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-11
    • 2011-08-18
    相关资源
    最近更新 更多