Re: Emacs からスクリプトを使って印刷をする。
>>>>> In <86k678tq7c.fsf@bsd2.4bn.ne.jp>
>>>>> Yoshitaka Ikeda <ikeda@4bn.ne.jp> wrote:
> 今は、とりあえず Emacs Bufferの文字が入ってるのを我慢してます。
> ところで、
> 6 23 13:51 2006 print_via_mail.sh Emacs buffer Page 1
> みたいな文字列が本文エリアに付加されていますが
> これは、Emacsが付加してるんですよね?
はいそうです。正確には lpr-page-header-program という変数の値で
ある pr コマンドが付加しています[1]。この辺りの ELisp のコードに
カスタマイズの余地はまったく無くて、好みの形式にするにはコードそ
のものを書き換えるしかないのですが、とりあえず " Emacs buffer"
をはぎ取るやつを一つ (.emacs などに入れて下さい)。
(defadvice print-buffer (around print-filename-in-page-headers activate)
"Print a file name in the page headers if the buffer visits a file."
(if buffer-file-name
(let ((title (file-name-nondirectory buffer-file-name))
(new-coords (print-region-new-buffer (point-min) (point-max))))
(apply 'call-process-region (car new-coords) (cdr new-coords)
lpr-page-header-program t t nil
(nconc (list "-h" title)
lpr-page-header-switches))
(setq ad-return-value
(print-region-1 (point-min) (point-max) lpr-switches nil)))
ad-do-it))
[1] 印刷するバッファの内容を「pr -h "バッファ名 Emacs buffer" -F」
に通したものを lpr-command で指定したコマンドにパイプします。
lpr.el 参照。
--
山岡
Fnews-brouse 1.9(20180406) -- by Mizuno, MWE <mwe@ccsf.jp>
GnuPG Key ID = ECC8A735
GnuPG Key fingerprint = 9BE6 B9E9 55A5 A499 CD51 946E 9BDC 7870 ECC8 A735