Article View: fj.lang.postscript
Article #288Re: How to add page No. with PS file doc.?
From: Tamito Kajiyama
Date: Sat, 28 Feb 1998 00:00
Date: Sat, 28 Feb 1998 00:00
79 lines
4646 bytes
4646 bytes
中京大学大学院情報科学研究科の梶山といいます。
In article <6d8e2c$ck4$1@melon.sainet.or.jp> iketomo@tomato.saino.ne.jp (Tomomi Ikeda) writes:
| 池田@サイノネットと申します。
|
| 始めて投稿いたします。いつもたいへんお世話になっています。
| さて、現在Web page の画面の印刷を、postscript に変換してから
| PS printer で印刷をしています。
| なんとかこれでページ番号を付けてA4 1ページに2ページ分印刷
| したいのです。
|
| netscape の print で ps file を生成し、A4 1 ページに2ページ
| 分おさまるようにまた、マージンを5mm付けて、
|
| psnup -2 -b0.5cm hogehoge.ps |lpr
|
| として印刷しています。これではぺージ番号が付かず困っています。
|
| man psnup でいろいろ試してみましたが、うまくいきません。
| ページ番号を付ける解決策を教えていただければ幸いです。
|
| 環境:FreeBSD-2.2.5R Netscape 3.01
僕は以下のようなシェルスクリプトを書いて使っています。別ファイルとして切
り出して実行属性を付け、パスの通ったディレクトリに置いて下さい。
用紙のサイズを A4 にして作った PostScript ファイル (例えば netscape.ps)
を引数に与えると、出力として netscape-fix.ps というファイルが得られます。
このファイルにはページ番号が振られていますので、あとはこれを psnup -2 で
処理すればよいとおもいます。
バージョン 2.01 ~ 3.04 の Netscape が生成する PostScript ファイルに対し
ては、うまく動作すると思います。 ただし、PostScript ファイル中の特定の文
字列を置換しているため、「どんな PostScript ファイルに対しても有効」とい
うような代物ではありません (同様の方法で対処できるとは思いますが)。
両面印刷するために、最後の2行で偶数ページのみからなるファイルと奇数ペー
ジのみからなるファイルを作成しています。この部分は池田さんの目的からは外
れますので、不要なら削除して下さい。
--------------------ここから--------------------ここから--------------------
#!/bin/sh
#
# nspagenum - Netscape の「印刷」で作成した PostScript ファイルを修正する
# (1) クリッピングを行なわないようにする
# (2) ページ番号をつける
# (3) 奇数ページと偶数ページを別々のファイルに分割する
# (4) 奇数ページを右に 1cm 程度移動させる
#
# nspagenum filename.ps を実行すると、ページ記述が修正され、奇数ページ
# だけの filename-fix-odd.ps と偶数ページだけの filename-fix-even.ps が
# 作成される。また、中間ファイルとして、奇数ページのシフトを行なってい
# ない filename-fix.ps が作成される。
#
# Netscape 2.01、および psutils-2.2 に含まれる psselect を用いて動作を
# 確認した。
#
# Kajiyama Tamito <30 April 1996>
#
fn=`echo $1|sed 's/\.[pP][sS]$//'`
sed 's/^newpath 0 72 moveto 481 0 rlineto 0 689 rlineto -481 0 rlineto closepath clip newpath$/newpath/' $1 | awk '\
BEGIN { \
num = 1; \
} \
{ \
if ($0 ~ /^showpage$/) \
print "287 50 moveto 12 f0 (" num++ ") show"; \
print; \
}' > ${fn}-fix.ps
psselect -e ${fn}-fix.ps ${fn}-fix-even.ps
psselect -o ${fn}-fix.ps | sed 's/^54 0 translate$/82 0 translate/' > ${fn}-fix-odd.ps
--------------------ここまで--------------------ここまで--------------------
以上、お役にたてば幸いです。
--
KAJIYAMA, Tamito <kajiyama@grad.sccs.chukyo-u.ac.jp>
Technical Details
Message-ID:
<KAJIYAMA.98Mar1010610@ws-h4.grad.sccs.chukyo-u.ac.jp>Path:
arc1-ca.pugleaf.net!unknown!not-for-mailReferences:
<6d8e2c$ck4$1@melon.sainet.or.jp>Show Full Headers
Complete Article Headers
X-Google-Language: Japanese,JIS X-Google-Thread: fa2ca,c596f92d358a3ef X-Google-Attributes: gidfa2ca,public From: kajiyama@grad.sccs.chukyo-u.ac.jp (Tamito Kajiyama) Subject: Re: How to add page No. with PS file doc.? Date: 1998/02/28 Message-ID: <KAJIYAMA.98Mar1010610@ws-h4.grad.sccs.chukyo-u.ac.jp> X-Deja-AN: 329475015 Sender: news@sk4.stud.sccs.chukyo-u.ac.jp References: <6d8e2c$ck4$1@melon.sainet.or.jp> Mime-Version: 1.0 (generated by tm-edit 7.93) Content-Type: text/plain; charset=ISO-2022-JP Organization: Graduate School of Computer and Cognitive Sciences, Chukyo University Newsgroups: fj.lang.postscript