[OS X TeX] trim pdf figures
Marcelo LaFleur
marcelolafleur at optonline.net
Tue Jun 22 23:43:25 CEST 2004
I hope someone else can answer your question. I don't do sophisticated
graphic manipulation. I only use it for graphs in economic texts.
on 6/22/04 3:27 PM, Siep Kroonenberg at siepo at cybercomm.nl wrote:
> On Tue, Jun 22, 2004 at 09:30:55AM -0400, Marcelo LaFleur wrote:
>> I use Apple's Preview. You can select a box around the graphic and just
>> crop the page.
>
> How safe is this for prepress purposes?
>
> I am asking, because last week I ran into an obscure problem with an
> OS X-generated pdf (producer `Mac OS X 10.3.x Quartz PDFContext',
> which is what you get by this procedure), and there have been
> discussions on the web about how suitable OS X native pdf support is
> for prepress.
>
> Panther has a command-line distiller pstopdf which is rumored to be
> basically the Adobe distiller, and to be prepress-safe. I have been
> using it for my last project in combination with a Perl script fitps:
>
> #############################
> #!/usr/bin/perl
> # fitps: a script to slightly transform an EPS file so that:
> # a) it is guarenteed to start at the 0,0 coordinate
> # b) it sets a page size exactly corresponding to the BoundingBox
> # This means that when GhostScript renders it, the result needs no
> # cropping. GhostScript can then write a graphic file direct without
> # the tedious pnmcrop etc. It needs a Level 2 PS interpreter.
> #
> # If the bounding box is not right, of course, you have problems...
> #
> # The only thing I have not allowed for is the case of
> # "%%BoundingBox: (atend)", which is more complicated.
> #
> # Sebastian Rahtz, for Elsevier Science
> $filedate="1996/07/10";
> $fileversion="1.1";
> $Filename=$ARGV[0];
> open(TMP,"<$Filename") || die "Usage: fitps <filename>";
> $bbneeded=1;
> local $bbpatt="[0-9\.\-]";
> while (<TMP>) {
> if ( /%%BoundingBox: (atend)/) {
> $bbneeded = 0;
> print;
> }
> elsif ( /%%BoundingBox:(\s$bbpatt+)\s($bbpatt+)\s($bbpatt+)\s($bbpatt+)/ )
> {
> # only read the *first* bounding box
> if ($bbneeded) {
> $width = $3 - $1;
> $height = $4 - $2;
> $xoffset = 0 - $1;
> $yoffset = 0 - $2;
> print "%%BoundingBox: 0 0 $width $height\n";
> print "<< /PageSize [$width $height] >> setpagedevice\n";
> print "gsave $xoffset $yoffset translate\n";
> $bbneeded=0;
> }
> # else ignore that embedded BoundingBox anyway
> }
> else
> { print; }
> }
> close(TMP);
> print "grestore\n";
>
> ;
> ##########################
>
> This code has become part of epstopdf from teTeX, which uses
> Ghostscript instead of pstopdf and also contains a lot of code to
> interpret command-line option. I have been using fitps
> as follows:
>
> fitps filename.eps >filename.ps
> pstopdf filename.ps
>
> --
> Siep Kroonenberg
> siepo at cybercomm.nl
> -----------------------------------------------------
> Post: <mailto:MacOSX-TeX at email.esm.psu.edu>
> Please see <http://www.esm.psu.edu/mac-tex/> for list
> guidelines, information, and LaTeX/TeX resources.
>
>
-----------------------------------------------------
Post: <mailto:MacOSX-TeX at email.esm.psu.edu>
Please see <http://www.esm.psu.edu/mac-tex/> for list
guidelines, information, and LaTeX/TeX resources.
More information about the macostex-archives
mailing list