나는 다음을 통해 Mutt에서 인쇄 명령을 구성 할 수 있음을 알고 있습니다 .muttrc
.
set print=ask-yes
set print_command="..."
그러나 예쁜 인쇄를 위해 어떤 인쇄 명령을 사용해야 합니까?
글쎄, a2ps
출력은 -=mail
지름길 조차도 약간 스파르타 인 것 같습니다 . 그것은 UTF8을 지원하지 않습니다 . 이 paps
‘로 설명되는 Pango가를 사용하여 포스트 스크립트 변환기 UTF-8 ‘현재 마진에 대한 지원 또는 이메일 레이아웃이나 그런 일을 포함하지 않습니다.
mp
: 좋은 기본 헤더. UTF8도 지원하지 않습니다. 기본 여백은 엄청나게 작습니다. 더 큰 여백을 지정하면 본문 텍스트가 바닥 글 뒤에 인쇄됩니다.
enscript
: -G
멋진 페이지 헤더의 경우 실제로 훌륭합니다. UTF8이 지원 되지 않습니다 .
Mutt에서 메일을 인쇄하기 위해 21 세기에 무엇을 사용하십니까?
(PS 및 / 또는 PDF로 UTF8, DIN A4 출력을 지원해야합니다)
답변
Muttprint 도 있습니다 . 그것은 않습니다 지원 UTF-8 및 출력은 기본적으로 괜찮은 보인다. Muttprint는 LaTeX를 사용하며 사용자 정의를위한 후크를 제공합니다.
다른 환경에서 메일을 인쇄하고 있으므로 기본 프린터를 사용할 수 없습니다. 따라서 ~/.muttrc
프린터를 동적으로 선택할 수있는 PDF 뷰어를 사용하도록 (를 통해 ) 설정했습니다 .
set print_command='set -e; f=`mktemp`; \
muttprint -P A4 -p TO_FILE:"$f"; evince "$f"; rm "$f"'
Mktemp는 /tmp
기본적으로를 사용합니다 . 사용자 정의 캐시 디렉토리를 사용하는 경우 :
set print_command='set -e; f=`mktemp -p "$HOME"/.cache/mutt`; \
muttprint -P A4 -p TO_FILE:"$f"; evince "$f"; rm "$f"'
Btw, print_decode
print_command가 자체적으로 MIME, 인코딩 등을 디코딩 할 수 있는지 구성하기 위해 muttrc 내부를 설정할 수 있습니다. 기본적으로는로 설정되어 yes
있는 같은 명령에 적합한 설정입니다 muttprint
, enscript
등
a2ps, enscript 및 mp의 UTF-8 문제와 관련하여 그것들은 쓸모없는 것으로 간주되어야한다고 결론 지을 수 있습니다. 실제로, 유지되지 않는 프로젝트 페이지를 보면 (예 : mp 페이지의 최신 뉴스 항목은 2002 년이며 Sun에있는 메일 링리스트를 언급합니다).
답변
UTF-8로 인코딩 된 파일을 읽고 파일의 포스트 스크립트 언어 렌더링을 생성하는 paps 사용을 고려할 수도 있습니다 . pango ft2 백엔드를 통해 윤곽 곡선을 작성하여 렌더링을 수행합니다.
답변
더 안전하고 적은 용지를 사용하여 wrapper
:
에 대한 인쇄 명령이 있습니다 .muttrc
.
set print_command="$HOME/bin/print_preview-wrapper.sh"
그리고 내용이 있습니다 "$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
이것은 것입니다
- 현재 인쇄 메일을 저장할 임시 디렉토리를 안전하게 작성하십시오.
- 포스트 스크립트로 변환하지만
- 페이지가 두 개 이상인 경우
- 다시 변환하지만 한 장에 2 페이지를 넣습니다.
gv
내가 좋아하기 때문에 실행 하지만 다른 도구를 실행할 수 있습니다.- 종료시 임시 디렉토리를 삭제하십시오.
답변
다음은 다른 UNIX에서 사용하는 간단한 영수증입니다.
set print_command="iconv --unicode-subst="_" -f utf-8 -t iso-8859-1 | enscript -P ••My_printer••"
여기서 ••My_printer••
프린터 이름입니다.