[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[plamo:12430] Re: gs 官製はがき印刷



自己レス(解決)です。
いちおうの解決を見たので要約します。

1)プリンタにあったドライバを含んだgsを用意する。
2)そのドライバのソースを読んで、用紙サイズの中から日本の官製はがき(postcard)を
  示すものの名前を調べる。
3) /usr/share/ghostscript/5.50/gs_statd.ps の中の用紙サイズにその名前のもの
  を定義する。(この詳細は #12421 の大森氏のlips用パッチを参照)

あと、いくつかのファイルを編集する。私はだいたい以下のようなものを作りました。

[/etc/printcap]
---------------
#..
#
# print PostScript file to postcard
pscard|Ghostscript printer(PostCard)|EPSON ESPER-LASER(PostCard):\
:lp=/dev/lp0:\
:sh:mx#0:\
:if=/usr/local/bin/psescpfcard:\
:sd=/usr/spool/lp0:\
:lf=/usr/spool/lp0/ps-error:


[/usr/local/bin/psescpfcard]
----------------------------
#!/bin/sh
[ x"$GSCMD" = x ] && GSCMD=$(which gs)	# いろんなversionがあるので..
$GSCMD \
	-q \
	-dSAFER \
	-dNOPAUSE \
	-sPAPERSIZE=postcard \
	-sOutputFile=- \
	-dManualFeed \
	-sDEVICE=lp8100 \
	-r600 \
	-
exit 0


[$HOME/.dvipsrc]
----------------
% Japanese Postcard
%
@ postcard 100mm 148mm
@+ ! %%DocumentPaperSizes: PostCard
@+ %%BeginPaperSize: PostCard
@+ postcard
@+ %%EndPaperSize

AddressBook/J の出力はA4での印刷を前提としているようなので、
AddressBookで出力された日本のはがき用pLaTexファイルをdviにしたのち、
上記の .dvipsrc を$HOMEに置き、
  reso=(解像度)
  fp=(開始ページ)
  ep=(終了ページ)
  file=(dviファイル名)
として

DVIPS="-t postcard -D $reso -O -1mm,-4mm"
dvips $DVIPS -p $fp -l $ep $file 2> $(tty) | lpr -Ppscard

で、LP8100の前面トレイからはがきが処理され印字もぴったり収まりました。
なお、dvips の -O オプションでの位置補正は、郵便番号欄などで試行錯誤
するしかないようです。

これまで、たいへんおさわがせしました。
特に HIGUCHI Chihiro さま。ありがとうございました。

--
pba00250@nifty.com
yoariie@ehime.med.or.jp
---------------------------
有家佳紀(ありいえよしのり)

Follow-Ups
[plamo:12432] Re: gs 官製はがき印刷, Kenichi Nakamoto
References
[plamo:12411] gs 官製はがき印刷, Yoshinori Ariie
[plamo:12421] Re: gs 官製はがき印刷, Yoshinori Ariie
[plamo:12422] Re: gs官製はがき印刷, HIGUCHI Chihiro
[plamo:12423] Re: gs 官製はがき印刷, Yoshinori Ariie
[plamo:12429] Re: gs 官製はがき印刷, Yoshinori Ariie

[検索ページ] [メール一覧]
Plamo ML 公開システム