Pergunta

Como você pode ligar para o LPR em Python?

Não está no módulo SYS que é surpreendente.

Pretendo usar o LPR como segue mostrado por pseudo-código

10*i for i in range(77):              
      lpr --pages(i,i+1) file.pdf
Foi útil?

Solução

Primeiro, não entendo seu código pseudo. (O que 10*i for i in range(77): significa neste caso?)

Geralmente, você usa subprocess.Popen Para executar comandos externos. Receita Activestate 511505 mostra um exemplo especificamente com lpr. Basicamente, você pode invocar lpr assim:

subprocess.Popen(['lpr', 'some_filename'])

No entanto: Dependendo da sua versão de lpr, pode não haver uma opção para selecionar um subconjunto de todas as páginas, ou essa funcionalidade pode estar disponível apenas para por exemplo, arquivos DVI.

Editar: Como você parece querer imprimir páginas selecionadas de arquivos PDF, dê uma olhada no PDF Toolkit. Esse software parece fornecer funcionalidade de divisão. Além disso, verifique se a impressão diretamente de arquivos PDF é suportada. Pode ser necessário converter a entrada em PostScript primeiro (por exemplo, usando pdf2ps). Claro que você pode automatizar essas tarefas usando subprocess.Popen também.

Outras dicas

Basta chamá -lo da linha de comando:

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)

Algo parecido.

Eu não tentei, mas os Pycups parecem ser ligações do Python para xícaras.

http://cyberelk.net/tim/software/pycups/

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top