Python中的Lpr模块
如何在Python中调用lpr?
这让我有点意外,因为它不在sys模块里。
我想用lpr,下面是我想要的伪代码示例:
10*i for i in range(77):
lpr --pages(i,i+1) file.pdf
3 个回答
0
我还没试过,但pycups看起来是CUPS的Python接口。
2
只需从命令行调用它:
import commands
for i in range(77):
# I'm making no assumptions about lpr command syntax here.
cmd = "lpr --pages(%s,%s) file.pdf" % (2*i, 2*i+1)
commands.getoutput(cmd)
大概就是这样。
5
首先,我不太明白你的伪代码。10*i for i in range(77):
在这里是什么意思呢?
一般来说,你可以用subprocess.Popen
来运行外部命令。ActiveState的例子511505专门展示了如何使用lpr
。简单来说,你可以这样调用lpr
:
subprocess.Popen(['lpr', 'some_filename'])
不过:根据你使用的lpr
版本,可能没有选择部分页面的选项,或者这个功能可能只适用于例如dvi文件。
补充:因为你似乎想打印PDF文件的特定页面,可以看看PDF工具包。这个软件似乎提供了拆分功能。此外,确保直接打印PDF文件是被支持的。你可能需要先把输入转换成postscript格式(比如使用pdf2ps
)。当然,你也可以用subprocess.Popen
来自动化这些任务。