next up previous contents
Next: 2. モノクロプリンタ Up: 1. 印刷できるファイル Previous: 1.5 PostScriptファイルのプレビュー


1.6 PostScriptファイルの操作


PSファイルの分割

PSファイルをページ単位で分割するにはpsselectコマンドを実行する.分割に際してはどのページが必要であるかをPSファイルのプレビューで確認しておく必要がある.

psselectでのページ指定には,文書に書かれている具体的なページ番号ではなく,文書の始めから何ページ目を切り出すかを指定しなければならない.

psselectコマンドの基本的な使い方を次に示す.

% psselect [オプション] [ページ番号] [分割元PSファイル] [分割先PSファイル]<RET>


オプション

-e分割元のPSファイルの偶数ページのみを切り出す対象にする.
-o分割元のPSファイルの奇数ページのみを切り出す対象にする.
-r
分割したページの並びを逆にする.
-p[ページ番号]上記のオプションを1つ以上指定する場合はページの指定にこのオプションを用いなければならない.ページの指定方法は次に示す方法と同じである.


オプションを指定していない場合は[ページ番号]に分割元のPSファイルから切り出したいページのページ番号をカンマ(,)で区切って指定する.切り出したいページが連なっている場合はハイフン(-)を用いて省略できる.

ページを切り出すといっても,分割元のPSファイルから該当のページが失われてしまうわけではない.psselectコマンドはあくまで必要なページだけからなる新しいPSファイルを生成するので,分割元のPSファイルには何ら影響を与えない.

psselectコマンドの実行例を次に示す.ここでは分割元PSファイルのfilename.psから,3ページ目,5ページ目,そして8ページ目から11ページ目までを切り出して,separate.psというPSファイルに書き出している.

% psselect 3,5,8-11 filename.ps separate.ps<RET>
[3] [5] [8] [9] [10] [11] Wrote 6 pages, 755358 bytes
% _
また-rオプションを用いてページを指定する例を次に示す.この場合ページ数の指定には-pオプションを用いなければならない.

% psselect -r -p3,5,8-11 filename.ps separate.ps<RET>
[11] [10] [9] [8] [5] [3] Wrote 6 pages, 755358 bytes
% _
こうして生成されたPSファイルを印刷することで必要なページだけを印刷できる.

PSファイルのファイルサイズがあまりにも大きいと,プリンタから印刷されないことがある.そのような場合でもpsselectコマンドを用いて適度な大きさのPSファイルに分割すれば印刷できる.


1.6.1 文書を縮小する

印刷するページ数が膨大な場合,複数ページを1枚の印刷用紙に印刷することによって大幅な用紙削減が可能である.またページ数が膨大でなくても同種類の図や表を単一ページに印刷すればそれらの比較検討が容易になる.ここではこのような目的に用られるPSファイルの縮小印刷の方法を説明する.

CNSではPSファイルを縮小するためのコマンドをいくつか用意しているが,代表的なものはnupコマンドとpsmultiコマンドの2つである.これらは縮小印刷したいPSファイルがどのようにして生成されたかによって使い分ける必要がある.これを表1.1に示す.


表: nupコマンドと psmultiコマンドの使い分け
コマンド 使用条件
nup dvi2psコマンドによって生成されたPSファイルの縮小印刷に用いる.
psmulti 一般のPSファイルの縮小印刷などに用いる.


nupコマンド

nupコマンドはdvi2psコマンドによって生成されたPSファイルを縮小する場合のみに用いることができる. nupコマンドによる縮小印刷の例を図1.6に示す.


図: nupコマンドによる縮小印刷の例
図:nupコマンドによる縮小印刷の例

nupコマンドへの入出力は標準入力および標準出力のみなので,dvi2psコマンドの出力をパイプでつないで入力するか,dvi2psコマンドで生成されたPSファイルをリダイレクションを用いて入力する必要がある.

% nup -[縮小度] [オプション] < [縮小元PSファイル] > [縮小先PSファイル]<RET>

どちらの場合においても[縮小度]に1枚の印刷用紙に何ページ分を印刷するかを指定する.指定できるのは2, 4, 8のいずれかである.


オプション

-lページの周囲を枠で囲む.
-n印刷用紙の縦横にあわせてページが回転するのを防ぐ.
nupコマンドの実行例を次に示す.ここではdvi2ps コマンドの出力の2ページ分を1枚の印刷用紙に印刷できるように縮小している.

% dvi2ps filename.dvi | nup -2 > scaledown.ps}{<RET>
また同様にdvi2psコマンドによって生成されたPSファイルの8ページ分を1枚の印刷用紙に印刷できるように縮小し,さらに各ページの周囲を枠で囲んだ例を示す.

% nup -8 -l < filename.ps > scaledown.ps}{<RET>
このようにして縮小された文書が印刷できる.


psmultiコマンド

dvi2psコマンドで生成されたもの以外で,jdvi2kps コマンドで生成されたPSファイルを含む,一般のPSファイルを縮小印刷するにはpsmultiコマンドを実行する.psmultiコマンドによる縮小印刷の例を図1.7に示す.


図: psmultiコマンドによる縮小印刷の例
図:psmultiコマンドによる縮小印刷の例

psmultiコマンドを縮小印刷に用いる際の基本的な使い方を次に示す.

% psmulti [オプション] -pages [縮小度] [PSファイル] > [縮小先PSファイル]<RET>
引数-pagesの後の[縮小度]に1枚の印刷用紙に何ページ分を印刷するかを整数で指定する.一般に2, 4, 8などを指定すればよい.


オプション

-border [枠]ページの周囲を囲む枠を指定する. [枠]には次のものが指定できる.
pborder iborder 2border shadow frame psmulti

-nodecorページの周囲を囲む枠をなくす.
-o [ファイル名]リダイレクションを使わずにファイルに保存する場合に出力先のファイル名を指定する.
-l用紙を横長(landscape)にする.
-p用紙を縦長(portrait)にする.
-select [ページ数] psselectコマンドと同じように必要なファイルのみを切り出せる. [ページ数]には切り出したいページのページ番号をカンマで区切って指定する.切り出したいページが連なっている場合はコロン(:)を用いて省略できる.
-reverse印刷するページを逆順にする.
psmultiコマンドの実行例を次に示す.ここでは文書の2ページ分を印刷用紙1枚に収まるように縮小している.

% psmulti -pages 2 filename.ps > scaledown.ps<RET>
また同様にして文書の8ページ分を印刷用紙1枚に収まるように縮小し,ページ周囲に枠をつけないようにしている.

% psmulti -nodecor -pages 8 filename.ps > scaledown.ps<RET>
こうして生成されたPSファイルを印刷することで縮小印刷をすることが可能となる.またパイプリダイレクションを用いることによって,縮小後のPSファイルを生成することなく,直接必要なページだけを印刷できる.

psmultiコマンドは一般のPSファイルの縮小印刷に用いるだけでなく,PSファイルに関するさまざまな変更を可能にする有用なコマンドであり,指定できるオプション引数が数多くある.詳しくはオンラインマニュアルを参考すること.


next up previous contents
Next: 2. モノクロプリンタ Up: 1. 印刷できるファイル Previous: 1.5 PostScriptファイルのプレビュー