Jak dostosować BoundingBox pliku EPS?

Chcę przyciąć główny obszar aPS lubPDF plik, aby utworzyćEPS plik bez białych znaków. Poleceniaghostrcipt, ps2pdf, epstools może przyciąć główny rysunek z pliku dokumentu.

Problem polega na tym, że przycinają się tylko w oryginalnej postaci, ale chcę utworzyć plik EPS za pomocąBoundingBox 0 0 x y; przycięte i przeniesione do lewego dolnego rogu.

Różnica polega na tym, że chcemy wstawić wynikowy plik EPS do dokumentu PS. Kiedy mamBoundingBox x0 y0 x y, dokument PS wstawia plik EPS w punkcie x0 y0, zamiast gdzie jesteśmy.

PRZYKŁAD:

Rozważmy prostePS plik jako

%!
/Times-Roman findfont 
11 scalefont setfont

72 700 moveto
(This is a test)show

jeśli go przekonwertujeszEPS z poleceniem takim jak

ps2eps test.ps test.eps

Wytworzy

%!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

Został przycięty w oryginalnych współrzędnych, a wynikowyBoundingBox jest72 700 127 708. Teraz, jeśli próbujesz to wstawićEPS plik w ciąguPS dokument próbuje zagnieździć się na tej współrzędnej.

Będzie to przydatne, jeśli tworzyszEPS plik zBoundingBox: 0 0 55 8. Oczywiście wszystkie współrzędne rysunku (tutaj moveto) muszą zostać zmodyfikowane za pomocą tego nowego odniesienia.

UWAGA: Jak już powiedziano, moim celem w naprawie punktu odniesienia BoundingBox jest przywrócenie go do dokumentu PS. Zatem alternatywną odpowiedzią na to pytanie jest: jak wstawić plik EPS do dokumentu PS niezależnie od jego BoundingBox.

Na przykład, jak wstawić ten plik EPS w lokalizacji200 200 255 208 dokumentu PS. Próbuję wstawić EPS za pomocą następującego kodu, ale nie zadziała, dopóki nie zostanie uruchomiony BoundingBox0 0:

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

questionAnswers(2)

yourAnswerToTheQuestion