Como imprimir um arquivo PostScript no Evince usando um layout de brochura?

4

Eu tenho uma saída PostScript de uma página man produzida por man -t ssh > man_ssh.ps . Ele abre para visualização no Evince Document Viewer. Quero imprimi-lo em uma impressora que suporta impressão frente e verso. Então, eu gostaria de imprimi-lo no modo 'brochura' - isto é, quando quatro páginas de um documento são impressas em uma folha única de dois lados, então quando as folhas são dobradas ao meio todas de uma vez, a numeração das páginas um documento é como em um livreto. Como posso imprimir o documento dessa maneira no Evince?

UPD: Há mais uma pergunta, como tornar o man -t output compatível com o layout da página do livreto - ou seja, margens internas mais amplas, tornando as páginas 'esquerda' e 'direita'?

    
por mbaitoff 08.07.2011 / 06:32

2 respostas

1

Parece que atualmente não há como imprimir páginas no modo brochura (livreto) nem no Evince nem no Xpdf. Há uma semi-solução para usar o utilitário psbook do pacote pstools que reorganizará e exibirá as páginas no arquivo postscript, assim como no modo de livreto. Observe a opção -s do psbook que controla o número de páginas originais que seriam incluídas em um livreto. Isso é útil quando você deseja imprimir uma grande quantidade de páginas que não serão dobradas de uma só vez, mas dobradas em vários sub-livretos. Por exemplo, o documento de 120 páginas entraria em um folheto de 30 folhas por padrão, o que é difícil de dobrar. Usando o psbook -s 24 fará 120/24 = 5 brochuras de 6 folhas cada, que são fáceis de dobrar e depois combinar.

Observe também que man -t output não está bem preparado para a impressão de livretos - tem números de página no lado "direito", não no lado "externo" e as margens "esquerda" e "direita" são as mesmas da margem "interna" sendo maior que "externa" e as páginas não são classificadas como "esquerda" e "direita". A discussão sobre como ajustar a saída man -t é aqui .

    
por mbaitoff 11.07.2011 / 07:42
2

Eu encontrei uma maneira de configurar o CUPS para que ele chame pdfbook para mim. O processo resume-se ao seguinte:

  1. No seu servidor CUPS (por exemplo, http://localhost:631 ), crie uma cópia da configuração para a impressora para a qual deseja ativar a impressão de catálogo. Vamos chamar a nova impressora "Print-booklet".

  2. Edite /etc/cups/ppd/Print-booklet.ppd como raiz. Adicione a seguinte linha, por exemplo, antes da entrada *cupsFilter : *cupsPreFilter: "application/pdf 0 booklettopdf" .

  3. (Este passo é um pouco confuso, talvez possa ser feito de maneira mais clara.) Em /usr/lib/cups/filter , crie o script booklettopdf (como root):

    #!/bin/sh
    for e in "$@"; do echo DEBUG: $0: $e 1>&2; done
    TMPFILE=$(mktemp)
    echo DEBUG: $0: $TMPFILE 1>&2
    if [ "$6" = "" ]; then
        cat
    else
        cat "$6"
    fi | pdfbook --scale 0.97 --outfile $TMPFILE && cat $TMPFILE && rm $TMPFILE
    
  4. Torne o script executável: chmod +x booklettopdf .

  5. Imprima uma página de teste.

Agora, sempre que você quiser imprimir em formato de livreto, escolha a nova impressora "Print-booklet".

O cupsPreFilter é uma extensão PPD do CUPS e parece que o application/pdf format sempre aparecerá na cadeia de filtros (Ubuntu 12.10, talvez mais cedo?).

Eu votaria pela integração desta funcionalidade no CUPS.

    
por krlmlr 16.01.2013 / 17:27