Do you know how to scale everything in the pagesize
Either scale your EPS object ($e) as needed, and then place
it slightly above y-pos zero (unless the origin is translated, [0,0] coincides with the physical left/bottom borders of the page
(no margins), but most printers cannot fill the entire page, due to
construction limits). For example:
my $e = new PostScript::Simple::EPS(file => "body.eps", colour=>1);
$e->scale(0.95);
...
$p->importeps($e, 0,40);
Or use the alternative method importepsfile(...), which allows you to
specify the lower left and upper right corner of a rectangle on the
page into which the EPS content will be fit (i.e. autoscaled), e.g.
$p->importepsfile({overlap => 1}, "body.eps", 200,40, 200,800);
overlap => 1 keeps the aspect ratio as is, i.e. in this
case, scaling will be done by the height (800 - 40 = 760), while the width
(200 - 200 = 0) will be ignored.
(BTW, the former method seems to have a bug (or peculiarity) if the
lower left corner of the EPS bounding box isn't 0,0 (in your case it's
238,1 for example — which is fine per se). In that case, this bounding box offset is added to the
position that you specify with importeps(). This doesn't
make much sense, IMHO, as you'll need to know the bounding box coordinates to position the thing in a predictable way — which makes it unnecessarily cumbersome... (the importepsfile() method, OTOH, does handle this correctly, apparently).)
|