Это тривиально, если вы придерживаетесь PostScript.EPS-файлы «инкапсулированы», то есть полностью автономны.Целью EPS является то, что вы можете вставить файл EPS в программу PostScript напрямую, ничего не зная об этом, кроме его размера и формы.
Все, что вам нужно сделать, - это изменить CTM между каждым файлом так, чтобы ониотображаются в правильном положении (и добавьте плиту котла для файла EPS вокруг объединенного файла).PostScript (EPS является подмножеством PostScript) имеет богатый набор операторов для этого.
Так, например, для объединения EPS1 и EPS2 и создания нового EPS из комбинации вы можете сделать:
%!PS-Adobe-2.0 EPSF-1.2
%%Creator:me, myself-
%%Title:combined EPS
%%CreationDate:23/5/19 9:32 AM
%%DocumentFonts:Helvetica-Bold
%%BoundingBox:0 0 612 792
%%EndComments
save
0 0 moveto
0.5 scale
...
... insert contents of EPS1 here
...
restore
save
306 0 moveto
0.5 scale
...
... insert contents of EPS1 here
...
restore
%%EOF
Это рисует EPS1 в левом нижнем углу носителя, уменьшенный на 50%, затем рисует EPS2 внизу, 306 точек (4,25 дюйма) слева, снова уменьшенный на 50%.
Вы должны получить правильные комментарии BoundingBox о окончательном EPS, это жизненно важно для любого приложения, которое импортирует EPS.
Если вам действительно нужен один файл EPS, или неЕсли вы не хотите делать все расчеты и самостоятельно, тогда вы можете использовать устройство Ghostscript eps2write, чтобы помочь.Вам все еще нужно написать код PostScript для позиционирования файлов EPS, но программа может быть проще.Взяв тот же пример, что и выше:
%!
save
0 0 moveto
0.5 scale
(/disk/path/EPS1.eps) run
restore
save
306 0 moveto
0.5 scale
(/disk/path/EPS2.eps) run
restore
showpage
Сохраните его как удобный файл, скажите input.ps, а затем выполните:
gs -sDEVICE=eps2write -sOutputFile=combined.eps input.ps
Результатом должен быть новый единственный файл EPS, содержащийсодержание двух оригинальных файлов EPS со всеми BoundingBox и другими шаблонами, заботящимися о вас.