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 y
Das 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