【问题标题】:Using os.system to print in Python using Linux使用 os.system 在 Python 中使用 Linux 进行打印
【发布时间】:2013-07-31 02:51:25
【问题描述】:

我到处搜索,但找不到答案。我正在使用 os.system 打印到打印机,但它会将其打印为纵向,我需要将其打印为横向。我假设有一种简单的方法可以在 os.system 命令中添加一些内容以使其正常工作,但我无法弄清楚它是什么。这就是我现在打印出来的方式:

os.system('lp "file.png"')

【问题讨论】:

    标签: os.system


    【解决方案1】:

    好的,这是一个错误,但只是为了方便起见:

    我一般把os.system换成下面的sn-p

    from subprocess import (PIPE, Popen)
    
    
    def invoke(command):
        '''
        Invoke process and return its output.
        '''
        return Popen(command, stdout=PIPE, shell=True).stdout.read()
    

    或者,如果您想更舒适地使用sh,请尝试

    from sh import lp
    
    lp('-o', 'landscape', 'file.png')
    
    【解决方案2】:

    试试os.system('lp -o landscape "file.png"')

    【讨论】:

    • 我试过了,但是它所做的只是将图像移到页面的右侧。我也试过 os.system('lpr -o Landscape "file.png"')。
    • 嗯,如果你使用 lpoptions -l,选项中有什么奇怪的地方吗?
    • 唯一突出的是“Rotate/180 Rotate:”被标记为假而不是真。我想如果那是真的,它会正确打印吗?除此之外,一切似乎都很正常。
    • 原来是打印机软件的错误。我将它恢复到以前的版本并且 -o 环境有效。谢谢!
    猜你喜欢
    • 1970-01-01
    • 2018-05-16
    • 2021-03-02
    • 1970-01-01
    • 2013-09-16
    • 1970-01-01
    • 1970-01-01
    • 2014-01-27
    • 2013-03-21
    相关资源
    最近更新 更多