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).)
In reply to Re^3: create ps file with PostScript::Simple - cannot print it out?
by almut
in thread create ps file with PostScript::Simple - cannot print it out?
by cta
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |