Belos e-mails de impressão do mutt?

16

Eu sei que posso configurar um comando de impressão no Mutt via .muttrc , por exemplo:

set print=ask-yes
set print_command="..."

Mas qual comando de impressão devo usar para a impressão bonita ?

Bem, a saída a2ps parece um pouco espartana, mesmo com o atalho -=mail . não suporta UTF8 . Há paps , que é descrito como ' conversor UTF-8 para PostScript usando o Pango ' e atualmente não inclui suporte para margens, ou Layout de e-mail ou algo parecido.

mp : bom cabeçalho padrão. Mais uma vez sem suporte UTF8. As margens padrão são ridiculamente pequenas - se você especificar margens mais amplas, o texto do corpo é impresso atrás do rodapé.

enscript : -G para cabeçalhos de páginas sofisticados é realmente sofisticado. Não UTF8 suporte .

O que você usa no século 21 para imprimir seus e-mails do Mutt?

(Deve suportar UTF8, saída DIN A4 como PS e / ou PDF)

    
por maxschlepzig 10.09.2011 / 21:29

4 respostas

18

Há também Muttprint . Ele suporta o UTF-8 e sua saída parece decente por padrão. Muttprint usa o LaTeX e fornece ganchos para personalização.

Como estou imprimindo e-mails de diferentes ambientes, não posso usar uma impressora padrão. Assim, configurei-o (via ~/.muttrc ) para usar um visualizador de PDF onde eu possa selecionar dinamicamente uma impressora:

set print_command='set -e; f='mktemp'; \
        muttprint -P A4 -p TO_FILE:"$f"; evince "$f"; rm "$f"'

O Mktemp usa /tmp , por padrão. Para usar um diretório de cache personalizado:

set print_command='set -e; f='mktemp -p "$HOME"/.cache/mutt'; \
        muttprint -P A4 -p TO_FILE:"$f"; evince "$f"; rm "$f"'

Btw, você pode definir print_decode dentro do muttrc para configurar se o comando print é capaz de decodificar MIME, codificações etc. por conta própria. Por padrão, ele é definido como yes , que é a configuração correta para comandos como muttprint , enscript etc.

Com relação às questões de a2ps, encript e mp de UTF-8, podemos concluir que elas devem ser consideradas obsoletas. De fato, olhando para as páginas do projeto, elas não parecem ser mantidas (por exemplo, o último item de notícias da página mp é de 2002 e menciona uma lista de discussão localizada na Sun).

    
por 11.09.2011 / 12:59
3

Você também pode considerar o uso de paps , que lê um arquivo codificado em UTF-8 e gera uma renderização em linguagem PostScript do arquivo. A renderização é feita criando curvas de contorno através do backend do pango ft2.

    
por 08.05.2014 / 07:14
3

Mais seguro e usando menos papel, crie um wrapper :

Existe o meu comando de impressão para .muttrc :

set print_command="$HOME/bin/print_preview-wrapper.sh"

E há o conteúdo de "$HOME/bin/print_preview-wrapper.sh"

#!/bin/bash

read tmpdir < <(mktemp -d /tmp/print_preview-$USER-XXXXXXXX)
cd $tmpdir || exit 1

trap "cd && rm -fR $tmpdir;exit" 0 1 2 3 6 9 15

cat >file.eml
muttprint -P A4 -p TO_FILE:file.ps <file.eml 

read numPages < <(sed '/^%%Pages/{s/%%Pages: //;q;};d' file.ps)
(( numPages > 1 )) &&
    muttprint -2 -P A4 -p TO_FILE:file.ps <file.eml 

gv file.ps

Isso vai

  • crie com segurança o diretório temporário para armazenar o e-mail de impressão atual,
  • convertê-los em postscript, mas
    • se houver mais de uma página,
    • converta-os novamente, mas coloque 2 páginas por folha.
  • execute gv porque gosto disso, mas você pode executar qualquer outra ferramenta.
  • elimine o diretório temporário ao sair.
por 21.05.2017 / 17:22
0

Aqui está um receipe simples que eu uso em diferentes UNIXes:

set print_command="iconv --unicode-subst="_" -f utf-8 -t iso-8859-1 | enscript -P ••My_printer••"

em que ••My_printer•• é o nome da impressora.

    
por 05.11.2015 / 13:35

Tags