Wie kann ich die BoundingBox einer EPS-Datei anpassen?

Ich möchte den Hauptbereich von a beschneidenPS oderPDF Datei zum Erstellen einerEPS Datei ohne Leerzeichen. Befehle vonghostrcipt, ps2pdf, epstools kann die Hauptzeichnung aus der Dokumentdatei herausschneiden.

Das Problem ist, dass sie nur in ihrer ursprünglichen Form beschneiden, aber ich möchte eine EPS-Datei mit erstellenBoundingBox 0 0 x y; zugeschnitten und in die untere linke Ecke verschoben.

Der Unterschied ist, wenn wir die resultierende EPS-Datei in ein PS-Dokument einfügen möchten. Beim habenBoundingBox x0 y0 x yDas PS-Dokument fügt die EPS-Datei an der Stelle x0 y0 ein, an der wir uns befinden.

BEISPIEL:

Betrachten Sie eine einfachePS Datei als

%!
/Times-Roman findfont 
11 scalefont setfont

72 700 moveto
(This is a test)show

wenn es in konvertiert wirdEPS mit einem Befehl wie

ps2eps test.ps test.eps

Es wird produzieren

%!PS-Adobe-2.0 EPSF-2.0
%%BoundingBox: 72 700 127 708
%%HiResBoundingBox: 72.000000 700.000000 127.000000 707.500000
%%EndComments
% EPSF created by ps2eps 1.68
%%BeginProlog
save
countdictstack
mark
newpath
/showpage {} def
/setpagedevice {pop} def
%%EndProlog
%%Page 1 1
/Times-Roman findfont 
11 scalefont setfont
72 700 moveto
(This is a test)show
%%Trailer
cleartomark
countdictstack
exch sub { end } repeat
restore
%%EOF

Es wurde in seinen ursprünglichen Koordinaten beschnitten und das ErgebnisBoundingBox ist72 700 127 708. Nun, wenn Sie versuchen, dies einzufügenEPS Datei innerhalb einesPS Dokument, versucht es an dieser Koordinate zu verschachteln.

Es ist nützlich, wenn Sie eineEPS Datei mitBoundingBox: 0 0 55 8. Natürlich müssen alle Zeichnungskoordinaten (hier nach oben) mit dieser neuen Referenz geändert werden.

HINWEIS: Wie bereits erwähnt, besteht mein Zweck beim Fixieren des BoundingBox-Referenzpunkts darin, ihn in ein PS-Dokument importierbar zu machen. Eine alternative Antwort auf diese Frage lautet daher: Wie füge ich eine EPS-Datei unabhängig von der BoundingBox in ein PS-Dokument ein?

Zum Beispiel, wie man diese EPS-Datei an Ort und Stelle einfügt200 200 255 208 eines PS-Dokuments. Ich versuche, das EPS mit dem folgenden Code einzufügen, aber es funktioniert nur, wenn die BoundingBox von gestartet wird0 0:

200 200 translate 
save 
/showpage {} bind def 
(test.eps)run 
restore

Antworten auf die Frage(2)

Ihre Antwort auf die Frage