5

外部 EPS ファイルを PostScript ドキュメントに挿入するには、EPS ファイルをテキスト エディタで開き、PostScript ファイル内のテキスト ベースのデータをコピー アンド ペーストするように指示されます。

PostScript ドキュメント内に外部 EPS ファイルを含めるための標準的なアプローチがあるのだろうか? PS は PostScript ドキュメントの実行時にその内容をキャッチして読み取ることができるため、EPS ファイルにリンクすることを意味します。コマンドについて読んだことrunがありますが、メインの PostScript ドキュメント内に外部 EPS ファイルを含めるためにコマンドを使用する方法がわかりません。

更新: EPS 画像を次のように挿入する場合

%!PS-Adobe-3.0

/Times-Roman findfont
14 scalefont setfont

72 700 moveto
(Thi is a text) show

72 300 translate
(1.eps)run

72 100 moveto
(Another text bellow image) show
showpage

次のページに送ります。この例では、2 番目のテキストは )72 100 の位置に表示されるのではなく、2 ページ目に移動します。

4

3 に答える 3

5

元の質問を拡大したので、別の回答を追加したほうがいいです...

まず%!PS-Adobe-3.0、最初の行では使用しないでください (ファイルが特定の標準に準拠していることを示していますが、これは行いません)。%!PSのみ(または のみ)を使用し%!ます。

次に1.eps、ファイルが実際に有効なEPSであることを確認する必要があります。あなたはあなたの を含んでいないので1.eps、私はこれを確認できません。

3 番目translateに、新しいページを作成するのはステートメントではありません。この変換自体は構文的に問題ありません (達成したい効果によって異なります)。

4番目に、EPSはshowpage演算子を使用しないでください。そうしないと、他の回答で指定された単純な行が単独では機能しません。EPS 自体がイジェクトする場合は、EPSを実行する前にオペレーターをノーオペレーションにshowpage再定義し、実行後に元のセマンティクスを復元する必要があります。showpageshowpage

save
/showpage {} bind def
(my.eps) run
restore

第 5に、2 番目のテキストは必ずしもEPS の下に表示されるとは限りません。EPS の実際のサイズによっては、EPS のスペース全体に印刷されているように見える場合があります。

第 6に、最初のテキストが EPS のストロークと塗りつぶしによって覆われている可能性があり (EPS の実際の描画サイズによって異なります)、そのため、まったく存在しないように見える場合があります。

7 番目、本当の PostScript の達人 (私はそうではありません) は、 このトピックに関して指摘すべき0 番目、8 番目9 番目10 番目、さらに多くの項目を見つけるかもしれません... ;-)

于 2012-09-04T00:34:55.007 に答える
3

EPSファイルがメインのPostScriptファイルと同じディレクトリにあり、と呼ばれていると仮定しますmy.eps。次に、この行をPostScriptファイルのコードに入れることができます。

(my.eps) run

目的の効果を得るには、この線を正確にどの位置に配置するかを決める必要があります。おそらく、オペレーターの直前showpageから始めるのが良いでしょう。

于 2012-09-03T21:10:39.753 に答える
3

EPS の理解を深めるには、次のコマンドを実行します (パスを自分の状況に合わせてください)。

sudo gs                                                  \
  -o /opt/local/share/ghostscript/9.05/examples/tigr.eps \
  -sDEVICE=epswrite                                      \
   /opt/local/share/ghostscript/9.05/examples/tiger.eps

次に、次の名前の PostScript ファイルの例を考えてみましょうso#12253041.ps

%!

/Times-Roman findfont 14 scalefont setfont

% Page 1
72 680 moveto (This is a text on page 1) show

72 200 translate
save
.5 .5 scale
  /showpage {} bind def
  (/opt/local/share/ghostscript/9.05/examples/tigr.eps) run
2 2 scale
restore

72 100 moveto (Another text \(across image\)) show
showpage


% Page 2
72 680 moveto (This is a text on page 3...) show

.5 .5 scale
72 200 translate
save
  /showpage {} bind def
  (/opt/local/share/ghostscript/9.05/examples/tigr.eps) run
restore
2 2 scale

72 100 moveto
(Another text \(across image\)) show
showpage


% Page 3
72 680 moveto (This is more text on page 3. But it is not visible... Why?) show

.25 .25 scale
72 200 translate
save
  /showpage {} bind def
  (/opt/local/share/ghostscript/9.05/examples/tiger.eps) run
restore
4 4 scale

72 100 moveto
(Another text \(across image\)) show
showpage


% Page 4 (empty)
showpage

そして実行します:

gs -o so#12253041.pdf -sDEVICE=pdfwrite so#12253041.ps

最後に、

  1. ...PS の各行で何が起こるかを理解しようとします。
  2. ...各ページのコードの違い (演算子の順序も) を考慮してください。
  3. ...2 つの EPS ファイルの違いも見てください。
于 2012-09-04T07:41:21.380 に答える