gpt4 book ai didi

python - 如何知道从命令行将打印多少页?

转载 作者:行者123 更新时间:2023-12-01 03:16:03 25 4
gpt4 key购买 nike

我目前正在使用 lpr 从命令行进行打印。我还使用 python 后端。

我是否可以看到特定文件将打印/已打印多少页?

最佳答案

如果不通过 RIP(光栅图像处理器)传递作业,则没有简单的方法可以做到这一点。在 Linux 和 Unix 世界中,打印作业作为 PostScript 文件传递​​。 PostScript 实际上是一种成熟的图灵完备编程语言。这意味着Halting Problem适用于他们。

因此,唯一的选择是将其通过 PostScript RIP(光栅图像处理器)并查看有多少页出来;不要忘记添加一些超时。

Ghostscript 就是这样一个 RIP,它提供了一个空页输出设备,这主要用于计算页数。使用以下命令行

timeout 120s gs -dNOPAUSE -dBATCH -dSAFER -sDEVICE=nullpage <file> \
| egrep '^Page' \
| wc -l

第一个命令使用timeout命令来调用Ghostscript,它不等待用户输入,一次性处理整个文件,禁用已知的不安全行为特征并且不产生光栅输出。这会通过管道进入 grep,在 gs 的诊断输出中查找以 Page 开头的行;为每一页生成一条这样的行。最后,通过 wc 进行管道传输以计算匹配的行总数。如果 gs 在 120 秒后未完成,则会中止。

请注意,这仍然容易受到恶意 PostScript 文件的影响(即使使用 -dSAFER)。

关于python - 如何知道从命令行将打印多少页?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42458727/

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