EPSファイルがであると考えていますか?を使用すると思いますか? EPSファイルのポイントは、アプリケーションによって「ブラックボックス」として使用されることを意図していることです。
アプリケーションがPostScriptプログラムを作成するとき、最終出力にEPSのサイズ以外のことを知らずにEPSを含めることができます。そのため、PostScriptが生成されると、アプリケーションはEPSのサイズを認識し、必要に応じて内容を拡大してページに配置するようにCTMを変更します。
複数のEPSファイルを使用する場合は、同じようにする必要があります。必要なページのサイズと位置に配置されるように、各EPSファイル間のCTMを変更する必要があります。あなたがこれをしないと、それらはすべて現在の位置に終わり、ページ上で拡大縮小します。あなたが言うように、彼らはお互いの上に終わる。
は今、EPSファイルの全体のポイントは、あなたがあなたはEPSのバウンディングボックスを解析する必要が
まず:-)それを行うためのプログラムを記述する必要がありプログラム的に配置することができますが、ということですファイル。 EPSが正しく適合している場合、これは%% BoundingBoxとオプションで%% HiResBondingBoxのコメントになります。
この情報を利用して、使用しているメディアのサイズや、希望のメディアに合わせてEPSファイルを拡大/縮小する方法を決定する必要があります。
次に、特定のメディアサイズを要求することから始まる新しいPostScirptプログラムを開始し、scale
とtranslate
演算子を使用してメディア上の正しい位置に移動し、最初のEPSファイルを実行しますコンテンツ、またはrun
演算子を使用して)。
各EPSファイルに対してこの手順を繰り返します。
は最後に、結果のファイルがスケーリングとして置かれ、個々のEPSファイルの内容を具現新しいEPSファイルになりますあなたはGhostscriptの中eps2writeデバイスを使用していると仮定すると、showpage
オペレータ
を使用して新しいコンテンツを書きますあなたは欲しい。
だから例えば(全ての値は架空のデータ例です):
%!
<< /PageSize [612 792] >> setpagedevice
gsave
306 396 moveto
0.5 0.5 scale
(example1.eps) run
grestore
gsave
306 0 moveto
1.5 1.5 scale
(example2.eps) run
grestore
gsave
0 396 moveto
(example3.eps) run
grestore
gsave
0 0 moveto
0.66 0.66 scale
(example4.eps) run
grestore
showpage
ありがとうございました。私は、epsごとに-cスイッチと一緒にtranslateを使って動作させることができます。 –