Note: please don't spam any of the e-mail addresses which you see here. Follow this link if you want some addresses to misuse.
From: David Chappell <David.Chappell@trincoll.edu> Date: 18 Feb 2003 09:28:39 -0500 Subject: PPR: PPR 1.50 released ========================================================================== Version 1.50 of PPR has been released. PPR is a Unix print spooler expressly designed for operating PostScript printers. It was written by David Chappell at the Trinity College Computing Center in Hartford, Connecticut, U.S.A. ========================================================================== If you wish to subscribe to the PPR mailing list, send mail to "majordomo@mail.trincoll.edu". The message should consist of the single line "subscribe ppr-list". You may post messages to the list by sending them to "ppr-list@mail.trincoll.edu". ========================================================================== New in this Release (Since 1.44) ========================================================================== * Greatly improved Ghostscript integration. This includes automatic configuration to invoke Ghostscript when appropriate PPD files (supplied with PPR or CUPS) are used. The printer interface wrapper programs with names begining with "gs" are now obsolete. (This code existed in 1.44 in experimental form, but with this release it is brought to usable form.) See "Installing and Using PPR" and the "ppad rip" command in the ppad(8) manpage for details. * Marked many more program messages for internationalization. * Created additional error codes which the printer interface programs can use to provide a machine-readable, internationalizable characterization of a printer fault (in addition to the human readable messages they have always logged to the printer alerts file. This new information is reported by "ppop status" when it shows that a printer is in a fault state. These include messages for access denied, printer not responding, printer doesn't exist, and bad interface setttings. If an interface program exists with one of the old, non-specific fault codes, ppop status will now suggest that the user use ppop alerts to examine the alerts log. * Refined the improved reporting of SNMP-style printer status in the "ppop status" output which was introduced in version 1.44. * Rewrote confusing error messages to make them more inteligible. * Vastly improved the PPR Popup program for computer lab printing. PPR Popup now works on Macintosh computers. * Fixed bugs which sometimes caused N-Up printing to fail. * Added --stop option to pprd and papsrv. This simplifies the shutdown procedure as described in "Installing and Using PPR". It also eliminates the need for a separate papsrv_kill script. * Fixed a problem which on rare ocasions would caused a job to silently fail to make it into the queue until next time pprd was restarted. * Fixed numberous bugs, including bugs which caused spooler crashes, needlessly unprintable job, queue hangs, and other unpleasantness. * Filled in the gaps and smoothed the rough edges off of the web interface which was introduced in version 1.44. With this release, the web interface status changes from experimental to stable. The web interface now includes a wizard to help with configuring Unix clients to print to a PPR server. * Added support for the AppSocket TCP printing protocol to the tcpip interface program (in addition to the existing support for SocketAPI). * PPR now recognizes and properly handles multiple copies requests from the Adobe PostScript driver for Microsoft Windows. * Made filters automatically aware of ppr command line options such as -F "*Duplex=DuplexNoTumble". Users should find this behavior much more intuitive. * Added a cut-down version of the Tcl 7.3 interpreter. In the future gettext support will be added and Borne shell scripts will gradually be replaced with Tcl scripts. * Added support for printing ranges of pages rather than the whole document. * Fixed incompatibilities with Perl 5.6 and 5.8. * Added a --features option to the ppr command. This prints a list of the printer features which may be controled with the -F (--feature) option. So far this works only for individual printers and not for groups. * Added preliminary support for Samba 2.2.x driver download. Unfortunately, this is still not easy to set up. * UPRINT now understands the slightly odd /etc/printcap files generated by system management tools in RedHat Linux. * Added an experimental new configure script called Configure_new. * Added a program called ppr-web-control which selects the best web browser for its purpose and opens the PPR Control Panel (part of the web interface). ========================================================================== Major Features ========================================================================== * Operates PostScript printers connected to parallel and serial ports, AppleTalk, LAN Manager X clients, LPD servers, and RAW TCP/IP adapters such as Extended Systems PocketPrintServers. * If the interface to the printer supports it, captures messages returned by the printer while a job is printing. If PostScript error messages are received, the job is placed in a special hold state for later examination. * Sends notices to users when jobs are completed or when jobs fail due to PostScript errors or other problems. (This is not supported on all client platforms.) * Detects printer faults and attempts to clear them automatically. If this fails, an operator can be informed. * Interprets Document Structuring Convention comments in order to support advanced features including printer redirection, reverse order printing, collated copies, font downloading, font substitution, and forced duplex mode. * Can pass print jobs through GhostScript before sending them to the printer in order to print PostScript files on non-PostScript printers. * Automatically detects non-PostScript input and passes it through appropriate filters. * One of the above mentioned filters is a line printer emulator which first measures the file in order to select proper margins, point size, orientation, and line spacing. It also supports overstrike bold and underlining. The line printer emulator supports many character sets including ASCII, Macintosh, ISO Latin 1, and KOI8-R. * An Epson compatible dot matrix printer emulator is also provided. It converts files containing escape codes for Epson and IBM Proprinter compatible dot matrix printers and converts them to PostScript. * When PPR is installed, it searches for certain other programs such as NetPBM, TeX, Groff, and the Adobe Acrobat Reader. If these are found, PPR arranges to use them as filters to automatically convert JPEG, BMP, GIF, LaTeX and other files to PostScript. * Automatically detects files compressed with Unix Compress or Gzip and uncompresses them before printing. * Advertises printer queues on an AppleTalk network so that Macintosh computers can print to them even if the printers don't support AppleTalk. * Accepts jobs from AT&T's LAN Manager for Unix and sends notices using the LAN Manager messaging facilities. * Accepts jobs from the Samba LAN Manager compatible server and sends notices using Samba's messaging facilities. * When used with Samba version 1.9.18 or later, PPR supports Windows 95 drag-and-drop printer driver installation. With Samba 2.2.x it supports Windows NT drag-and-drop too. * Accepts jobs from other computers using the LPD protocol. * While printing, the percentage of the job which has been sent is displayed in the queue listing, together with the page the spooler is transmitting, and, when the printer supportes it, the number of pages which have been printed. * The status of a printer that is printing can be viewed. This includes conditions such as out-of-paper and low-toner. * Prints jobs N-Up or generates signatures and booklets using Donald Markuson's N-Up dictionary. * Keeps track of printer usage by means of user accounts from which money is deducted for each page printed on designated printers (Client support for this is still limited.) PPR also has the ability to log all jobs so that reports can be run or bills can be sent to users. * Allows a form to be "mounted" on each of a printer's input bins. When a print job arrives, PPR will attempt to determine what kind of paper it should be printed on and select the correct bin. If the correct form is not mounted, the job will be held until an operator mounts it. * Prints banner pages which include information gleened from the Document Structure Comments, such as user name, number of pages, and warnings concerning defective DSC comments. * Caches fonts received from Macintosh clients so that they need not be downloaded again. This saves time the next time the document is printed. (This only works with LaserWriter 8.x.) * If MS-Windows format TrueType fonts are manually installed in the spooler, it will convert them to PostScript and download them on demand. * Provides programs which can be used as substitutes for lp, lpr, lpq, and lprm. These programs will determine whether the queue selected belongs to PPR, to the standard system spooling system, or to a remote system listed in a special configuration file. If the queue belongs to the standard system spooler then the standard program will be invoked. ============================================================================= Compatible Systems ============================================================================= PPR was origionally written to work on AT&T's 6386 WGS and StarServer E running Unix System V Release 4.0 and AT&T's port of LAN Manager to Unix with AT&T's AppleTalk Network Program. It was later ported to SunOS 5.x (Solaris 2.x) and CAP60 patch level 194. Netatalk is not yet supported on Solaris 2.x. Linux is currently the principal development system. An extra library called NATALI can be obtained from the place you got PPR. This library allows PPR to work with Netatalk under Linux. DEC OSF/1 and Digital Unix 4.0 are also supported, though AppleTalk has not been attempted. SGI's IRIX 6.3 is also a supported platform. However, AppleTalk on IRIX has not been attempted. The complete system has not been tested on 386BSD/NetBSD/FreeBSD/OpenBSD, however it should run with only minor modifications. Support for SunOS 4.1.3 is included in the current release but nobody has reported whether or not it works. The Cygnus Windows NT port can be compiled but it doesn't work yet. The MacOS port can be compiled and installed, but the install scripts may still need a little tweaking. Final testing couldn't be accomplished due to the limitations of the Sourceforge.net compile farm. ============================================================================ Intended Audiance ============================================================================ PPR begain as a research project designed to explore the possibilities of the Adobe Document Structuring convention, PPD files, and automatic filtering. The goal is to make printing easy for end users. However, PostScript can be very complex and PPR is a very complex piece of code. Considerable effort has been expended to make PPR easy to set up and use. All the same, some level of understanding of PostScript, the Document Structuring Convention, and the processes involved is sometimes required. While PPR has been used with a number of PostScript generating applications, it has not been possible to test it with every one. This problem should be a matter of moderate concern because most if not all PostScript generating applications have one or more errors in their conformance to the Document Structuring Convention. When document structuring comments make serious factual errors in their description of the structure of the document or concerning the fonts and other resources required, PPR may fail to print it even though a more simple minded spooler would print it. When unexpected results are obtained, it may be necessary to examine the input and the output, manually interpreting the DSC comments. Anyone supporting PPR would be well advised to first read Appendix G of "PostScript Language Reference Manual, Second Edition" as well as "PostScript Printer Description File Format Specification". That said, it should be noted that PPR has been extensively tested in an environment containing hundreds of clients and dozens of printers. The clients have included Unix, MS-DOS, MS-Windows, and MacOS. ============================================================================ Technical Support ============================================================================ Trinity College cannot of course guarantee to provide you with technical support for this for this product. As stated above, while PPR is intended to make printing easy to set up and use, diagnosing problems with PostScript printing still requires specialized knowledge. An installation manual, an incomplete technical description, and man pages for most of the programs are provided. We will also endeavor to participate in the answering of questions sent to the PPR mailing list. We regret that Trinity College is not in a position to provide technical support beyond this. Bug reports and suggestions are of course welcome. Bug reports will be most useful they describe the exact steps necessary to reproduce the problem. Of course, if you can if include a fix or point out the offending source file and function, please do so. Bug reports should be sent to <ppr-bugs@mail.trincoll.edu>. If you have PostScript questions, it might be well to post them to the Usenet news group "comp.languages.postscript". Questions related to CAP should be posted to "comp.protocols.appletalk". Questions directly related to PPR should be sent to the PPR mailing list. ============================================================================ License Terms ============================================================================ Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ============================================================================ Obtaining PPR ============================================================================ PPR may be obtained from <ftp://ppr-dist.trincoll.edu/pub/ppr/> or <http://ppr-dist.trincoll.edu/pub/ppr/>. The current distribution includes the following files: ppr-1.50.tar.gz Source code for PPR natali-1.25.tar.gz A library needed for Netatalk support under Linux - -- David Chappell <David.Chappell@trincoll.edu> Trinity College, Hartford, Connecticut, USA