PostScript Utilities Angus Duggan 7 June 1993 This shar file contains some utilities for manipulating PostScript documents. Page selection and rearrangement are supported, including arrangement into signatures for booklet printing, and page merging for n-up printing. ENVIRONMENT These utilities have been compiled and run on Sun-3 and Sun-4 machines under SunOS 5.1 (Solaris 2.1), 4.1.3, 4.1.2, 4.1.1 and 4.0.1, HP9000/375 machines under HPUX 7.0 and HPUX 8.0, Sequent Symmetry machines under Dynix 3.1.4 and PTX 3.2.0, IBM RS/6000, VAX/VMS and Decstation 3100 machines under Ultrix 4.0. FILES The files contained are: -rw-r--r-- 1 ajcd 1945 Jun 7 15:40 LICENSE -rw-r--r-- 1 ajcd 3367 Jun 7 11:30 Makefile -rw-r--r-- 1 ajcd 432 Jun 7 11:33 Manifest -rw-r--r-- 1 ajcd 6295 Jun 7 15:40 README -rw-r--r-- 1 ajcd 1864 Jun 5 16:31 descrip.mms -rw-r--r-- 1 ajcd 4431 Jun 5 11:05 epsffit.c -rw-r--r-- 1 ajcd 1045 Jun 7 11:01 epsffit.man -rw-r--r-- 1 ajcd 538 Apr 9 22:33 fixfmps.man -rw-r--r-- 1 ajcd 419 Apr 9 17:14 fixfmps.pl -rw-r--r-- 1 ajcd 559 Apr 9 22:35 fixmacps.man -rw-r--r-- 1 ajcd 1751 Jun 7 11:30 fixmacps.pl -rw-r--r-- 1 ajcd 564 Apr 9 22:35 fixpsditps.man -rw-r--r-- 1 ajcd 596 Apr 9 17:15 fixpsditps.pl -rw-r--r-- 1 ajcd 533 Apr 9 22:35 fixpspps.man -rw-r--r-- 1 ajcd 1236 Apr 9 17:15 fixpspps.pl -rw-r--r-- 1 ajcd 551 Apr 9 22:32 fixtpps.man -rw-r--r-- 1 ajcd 602 Apr 9 22:31 fixtpps.pl -rw-r--r-- 1 ajcd 556 Apr 9 22:36 fixwfwps.man -rw-r--r-- 1 ajcd 318 Apr 9 17:15 fixwfwps.pl -rw-r--r-- 1 ajcd 544 Apr 9 22:36 fixwpps.man -rw-r--r-- 1 ajcd 669 May 5 13:54 fixwpps.pl -rw-r--r-- 1 ajcd 542 Apr 22 12:38 fixwwps.man -rw-r--r-- 1 ajcd 364 Apr 22 12:37 fixwwps.pl -rwxr-xr-x 1 ajcd 6124 Jun 7 15:25 getafm -rw-r--r-- 1 ajcd 702 Jun 7 15:38 getafm.man -rw-r--r-- 1 ajcd 42798 May 6 09:16 md68_0.uue -rw-r--r-- 1 ajcd 48726 May 6 09:16 md71_0.uue -rw-r--r-- 1 ajcd 40 Apr 9 21:03 patchlevel.h -rw-r--r-- 1 ajcd 2155 Jun 4 15:23 psbook.c -rw-r--r-- 1 ajcd 1059 Mar 31 15:33 psbook.man -rw-r--r-- 1 ajcd 6967 Jun 7 10:29 psnup.c -rw-r--r-- 1 ajcd 2578 Jun 7 11:28 psnup.man -rw-r--r-- 1 ajcd 5298 Jun 4 15:24 psselect.c -rw-r--r-- 1 ajcd 1893 Mar 31 15:33 psselect.man -rw-r--r-- 1 ajcd 6682 Jun 5 16:49 psspec.c -rw-r--r-- 1 ajcd 604 Jun 5 13:38 psspec.h -rw-r--r-- 1 ajcd 4215 Jun 5 13:04 pstops.c -rw-r--r-- 1 ajcd 3512 Jun 7 10:43 pstops.man -rw-r--r-- 1 ajcd 8195 Jun 5 16:43 psutil.c -rw-r--r-- 1 ajcd 988 Jun 5 14:48 psutil.h -rwxr-xr-x 1 ajcd 2552 Feb 10 12:47 showchar PROGRAMS psbook rearranges pages into signatures psselect selects pages and page ranges pstops performs general page rearrangement and selection psnup put multiple pages per physical sheet of paper epsffit fits an EPSF file to a given bounding box psselect in modeled after Chris Torek's dviselect program, and pstops is modeled after Tom Rokicki's dvidvi program. psbook is modeled on my own dvibook program, which borrows heavily from Chris Torek's dviselect. SCRIPTS getafm (sh) outputs PostScript to retrieve AFM file from printer showchar (sh) outputs PostScript to draw a character with metric info fixfmps (perl) filter to fix framemaker documents so that psselect etc. work fixmacps (perl) filter to fix Macintosh documents with saner version of md fixpsditps (perl) filter to fix Transcript psdit documents to work with PSUtils fixpspps (perl) filter to fix PSPrint PostScript so that psselect etc. work fixtpps (perl) filter to fix Troff Tpscript documents fixwfwps (perl) filter to fix Word for Windows documents for PSUtils fixwpps (perl) filter to fix WordPerfect documents for PSUtils fixwwps (perl) filter to fix Windows Write documents for PSUtils INSTALLATION UUdecode md71_0.uue and md68_0.uue (if supplied encoded), edit Makefile to put in required paths and CFLAGS (-DSYSV for System V machines, -DMSDOS for Messy-DOS, -DVMS for VMS), "make", and "make install". BUGS The utilities don't check for PS-Adobe-?.? conformance; they assume documents conform. Utilities need an extra save/restore around whole document on a SPARCPrinter with NeWSPrint 1.0, because of bugs in the xnews server. Bug fixes and suggestions to ajcd@dcs.ed.ac.uk NOTE This is an interim release; these utilities are currently being re-written from scratch, with a full DSC-3.0 parser and more extraction, merging, and inclusion options included. ACKNOWLEDGEMENTS Bug fixes and suggestions for improvements to PSUtils have come from many people, including: Brian Colfer brianc@labmed.ucsf.edu Charles A. Finnell finnell@org.mitre.lear Conrad Kimball cek@com.boeing.sdc J.W.Hawtin Jochen Schwarze schwarze@de.isa Ken Carpenter khc@edu.ksu.eece Kristian Jorg etxkrjg@se.ericsson.solsta Larry Weissman larryw@nsr.bioeng.washington.edu Michael L. Brown brown%uucp.vidiot@edu.wisc.cs Hunter Goatley goathunter@wkuvx1.bitnet John Interrante interran@uluru.Stanford.edu Maurizio Cremonesi MAUCREM@imiclvx.earn Matthew Stier Matthew.Stier@East.Sun.com Gerry Pratt cca13@seq1.kl.ac.uk Robert Joop rj@rainbow.in-berlin.de (Apologies to anyone who I have left out.) NEWS Patchlevel 11 contains some significant enhancements to PSUtils, in preparation for the eventual release of version 2 (don't hold your breath waiting for it). These include: * Specify paper sizes by name for pstops and psnup. * Psnup re-written in C to be much more versatile (do any number n-up). * Epsffit can input broken %%BoundingBox comments which use real numbers. * Should work on MSDOS and VMS machines as well as Unix. * Accept more DSC compliant documents (Page labels are better supported).