@DATABASE "LIGHTPrint.guide" @AUTHOR "Steve Bowie" ## $VER: LIGHTPrint rel 1.0n (96.03.28) @NODE Main "LIGHTPrint 1.0" @{B}"LIGHTPrint(TM) "@{UB} An ARexx utility for use with Final Writer or from the WB LIGHTPrint_1.0 - what took so long?? ------------------------------------------- Copyright (c)1996 Steve Bowie Enclosed you will in all likelihood find the following: A fully functional version of LIGHTPrint, an Arexx program for Amiga and DraCo users. This version even extends the versatility and usefulness of LIGHTPrint to all your printing applications, even if they don't support Arexx! As well, included are one or two other helpful items mentioned later in this document. I hope you like it (them). I am certainly no programmer, but I was gratified by the warm reception with which my previous foray into AREXX (FinalFax) was received. In fact, I was emboldened to tackle this project that was much more daunting (to me at least). I feel that LIGHTPrint is likely to be ultimately found to have an even wider appeal. Using it myself, I don't know how I got by without it. I can't imagine why someone didn't do it first (and likely better). For that matter, I I don't know why a similar facility isn't hard-coded into every printing application. So, when angels fear to tread, there's always a fool..... @{"Copyright and Disclaimer" LINK Copyright} The LIGHTPrint package is currently in an evaluation version. Please, do try it out, but do not reproduce it or post it anywhere electronically or otherwise, period! @{"Introduction " LINK Introduction} - the concept... @{" Features " LINK Features} - what does it actually do? @{"Installation " LINK Installation} - where's everything go? @{" Utilisation " LINK Utilisation} - using LIGHTPrint @{" Limitations " LINK Limitations} - what won't it do? @{" The Author " LINK Author} - who he? @ENDNODE @NODE Limitations "Limitations" @Toc "Main" @{B}Limitations of LIGHTPrint@{UB} Limitations....we all have them ;) I had hoped to be able to have LIGHTPrint throw up the usual requester notifying you that your printer had been kidnapped by aliens when nothing was happening...sorry, no can do. The `Copy' command just keeps on trying when sent to `par:', rather than reporting a fault. A more serious limitation is this: Once you have enabled redirection or begun using LIGHTPrint to print from within your program, the task must be completed before quitting the program (Final Writer for example)....if you have selected Redirect/ONCE, sending any output to the LIGHTPrint file by using the FW Print Requester will cause redirection to revert to normal and you can then quit. Otherwise, you can call LIGHTPrint again and select Redirection/RESET, then quit. In BATCH mode, you MUST do it this way, and, as with an incomplete printing task, any attempt to close prematurely will result in a `busy' pointer. Should the above prove a problem, as in being unable to exit a program because you forgot to RESET, you have several ways to restore order and to close the app: One, you could use a shell, type `status' and note which process is `CMD' then type `break #' where '#' is the ppropriate process no. Or, if you wish, you could simply reboot. Rebooting is the only available option if you have somehow failed in a printing task, and are unable to proceed. Also, a natural limitation of printing from a file (unless of course it's an ASCII file) is that it may not for any practical purposes be edited... Thus any changes require re-`printing' the LIGHTPrint file. Not really a limitation, but you might notice that LIGHTPrint writes a small interim file named `output' to your Ram: directory, and another called `lpstat' to your ram:t/ directory. Neither of these files are deleted on exiting, but do not pose any real problem as they are very small indeed. Of course, their very existence means that your Ram Disk: must be enabled for LIGHTPrint to function correctly. I toyed with the idea of using some of the lovely support libraries available to give LIGHTPrint_WB a prettier integrated gui, but decided it would be best to go with simplicity Something else....the file requester can open on any public screen, but if the program doesn't have one, it will appear on the Workbench. To re-iterate, remember not to set `defdir' to RAM, it would be a really bad idea anyway, unless you've got 60 megs or so. It was too much trouble to have LIGHTPrint differentiate the space in `Ram Disk:" when parsing the filenames. If you have a suggestion, problem, or need some help then please contact me. You can email me at ad636@torfree.net Steve Bowie. @ENDNODE @NODE Copyright "Copyright and Disclaimer" @{B}Copyright Information@{UB} LIGHTPrint, as well as the pertinent documentation enclosed with it comprise LIGHTPrint and is Copyright (c) 1996 Steve Bowie. No warranty of any kind is provided with this program or it's accompanying utilities. While the software included in this archive should provide you with some useful facilities, is is not guaranteed to benefit you in any way, nor are you protected in any way from any damage attributable to it's use or installation, whether to hardware, or data stored on or being used with your system. At the same time, the LIGHTPrint software enclosed, including the scripts themselves and the documentation supplied are copyrighted by Steve Bowie, and may not be reproduced electronically or by any other means pending authorized public release by him. You may use the software at your discretion on your own computer system only for the purpose of evaluation at this time. This document, with it's copyright notification must accompany the LIGHTPrint program(s) in any form in which it may be transmitted. Copyrights to RexxReqTools and Reqtools.library belong to their respective authors, as documented elsewhere in this archive, and may not be reproduced, duplicated or transmitted except as specified therein. @ENDNODE @NODE Introduction "Introduction" @{B}What's LIGHTPrint good for?@{UB} LIGHTPrint is my attempt to avail myself of the benefits of something I recently discovered....my printer is a LOT faster than I thought it was. I've had several different printers over the years, connected to my trusty old A500, later to my A4000/030...printing in graphics mode has always seemed to take forever, esp. now at 720X720 dpi on my Epson Stylus Color(tm). I always assumed that that's just how it is. Then one day I used the `buffer' function built into the Endicor(tm) printer driver for the Stylus...whoa!!! What a difference! I had just learned something everyone else probably knows....the aggravatingly slow printing is not the fault of the printer, rather it is a function of the time it takes my poor little CPU to `rasterize' the output to be sent to the printer. Now, the only way to speed up this function is to throw more CPU power at it, but once you've done it, why should you do it over and over again for every copy of a page? As you're likely aware, it can take anywhere from 5 to 15 minutes per page to do this EACH time, depending on resolution etc. So, when printing multiple copies, why not print to a file first, then send that already rasterized file to the printer as many times as necessary. The time savings are enormous, and the percentage saved just gets better and better the more copies you make! Of course, you can do this manually, using AmigaDOS's built in CMD function, and the copy command. This is a bit cumbersome however, and why should we suffer inconvenience when Arexx is available? So, with a dearth of skill, a modicum of patience, and a healthy dollop of error checking, I undertook to provide myself (and you of course) with easy access to this ability...the result is LIGHTPrint (my little company is called LIGHTWORX, in case you were wondering ;) @ENDNODE @NODE Installation "Installation" First - LIGHTPrint requires a few tools not present in the standard AmigaDOS distribution of Arexx. The rexxreqtools.library, copyright Rafael D'Halleweyn is in it's full archive form...you may find it as handy as I have. Also with this library is the ubiquitous reqtools.library, copyright Nico Francois. It has become so popular that you may well have it installed already. In any case, in the RexxReqTools drawer, you will find a kindly provided Installer which will place both in their proper places. Double click on it, and follow the instructions. Second- The main script, LIGHTPrint, is supplied with a self launching icon... sooo....guess what...you could simply `leave it out' on the Workbench. This would have the added benefit of making me very proud indeed. Otherwise, you could drag it to your Workbench:S/ directory and launch it from a shell, by typing , angle brackets not included of course... (renaming would be good here too, don't you think?), or call it from the Arexx menu of any running program. Finally, set up a suitably named drawer to store the resulting LIGHTPrint 'printfiles'- mine is Work:FinalWriter/Lightprint/ - then use a text editor to edit the first line of the LIGHTPrint_WB script to read where `MyDrive' and `MyDrawer' reflect your pathnames. Be sure to leave the single quote marks at each end, as well as the closing backslash. Oh, DO NOT set the `defdir' to Ram: as this is neither practical, nor functional within LIGHTPrint! That's it! You can now use LIGHTPrint_WB to capture and print files from all your printing applications. ************************************************************* @ENDNODE @NODE Utilisation "Utilisation" @{B}Utilisation@{UB} The usage of LIGHTPrint, either version, is pretty straightforward: The first thing you will see after launching it is a requester which asks you to decide whether you wish to choose REDIRECT or LIGHTPrint, or Cancel. REDIRECT - selecting Redirect brings up another requester, offering you the choice of ONCE - Redirecting output from your program one time only to a LIGHTPrint file. or BATCH - Installing re-direction to succesive LIGHTPrint files, until you again call LIGHTPrint to use... or RESET - to reset the flow of output to your normally selected PrefsPrinter. notes: selecting ONCE, or BATCH advances you to the selection of a filename to be used. The Default is LPrint. You can set a different name of course. An abbreviated system date will be appended to the base name you enter, and the suffix `.lpf' to aid in file recognition. If you select ONCE, the normal printer function will be restored immediately after you `print' to the LIGHTPrint file. Again, if you select BATCH, you must eventually use the RESET function to restore the normal state of affairs, unless you reboot. NOTE --> IF YOU REDIRECT/ONCE, AND DO NOT `PRINT' A DOCUMENT TO A LIGHTPRINT FILE OR RESET, OR...IF YOU REDIRECT/BATCH AND DO NOT RESET, YOU WILL NOT BE ABLE TO EXIT YOUR PROGRAM!! SIMILARLY IF YOU HAVE ARE USING LIGHTPrint TO PRINT A FILE YOU WILL NOT BE ABLE TO EXIT THE APP UNTIL THE PRINTING IS COMPLETED. YOU WILL ONLY ENCOUNTER THESE CONDITIONS IF YOU ARE USING LIGHTPrint (or call LIGHTPrint from within another program, not the WB) AND ATTEMPT TO EXIT PREMATURELY! FOR WORKAROUNDS, SEE @{"Limitations" LINK "Limitations"} LIGHTPrint - selecting LIGHTPrint puts you into the printing facilities of the program. A file requester will be presented, and you can select one or more LIGHTPrint files to be sent to the printer (multiselection is invoked by the usual shift-key usage in the requester). You will then be asked how many copies of each LIGHTPrint file you wish to be printed. LIGHTPrint will `remember' and print varying numbers of copies for each file selected. The default is one copy. Once you have made your choices, the printing will begin. notes: Be sure to have adequate paper supplies, and the printer on etc. before beginning...LIGHTPrint does not provide any facility for tracking it's own progress, or recognizing interruptions, so if a problem with the printer occurs there will be no output, not even a requester telling you there's a problem (this is a limitation of the AmigaDOS `Copy' command which affects the par: device). In many cases, you will want to delete the LIGHTPrint files after use, as they are often very, very large...the exceptions will be files that you want to print from time to time in smaller batches, as I do with forms and business cards. @ENDNODE @NODE Features "Features" @{B}Features@{UB} Well, the basic idea is this....you are ready to print, but realize that since you want to make multiple copies of one or more pages the document to be printed is a candidate for LIGHTPrint! Launching LIGHTPrint allows you to select printing your document to a file, instead of the printer. Of course, all your font choices, formatting, etc. will be stored intact. You can then print your file, as many times as you wish, or store it for later use....naturally, you could print some copies now, and later print the same LIGHTPrint file again with no `rasterizing' time penalty. This is great for things like envelopes, business cards, forms etc. LIGHTPrint also provides `pseudo' print spooling ability! Thus, one can select any number of previously saved LIGHTPrint files to be sent to the printer, and LIGHTPrint will keep track of how many copies of each page you want. Thus you can set up a `print batch', be sure to provide lots of paper, and take your wife out for coffee while the job is done.... Since the printing is done asynchronously, you could also just stay at the keyboard and work on another document if you'd rather (maybe you're not married.) Sadly, one of the limitations of this release of LIGHTPrint is it's inability to correct your marital status. This limitation is bidirectional. Some things can't be done by software alone. What else...hmmm....oh, you can select whether to print to the LIGHTPrint file just once and then return to the normal PrefsPrinter, or to continue cranking out LIGHTPrint files indefinitely until you select to redirect output back to the system's default PrefsPrinter. Oh, by the way, LIGHTPrint will, when redirection is selected, capture output from any printing application, not just FinalWriter....this is both a benefit and a hazard, so keep it in mind if multitasking. You can also select a base filename for your LIGHTPrint files for the session, enabling you to see at a glance what it (they?) is (are?)...as well, the date is recorded as part of the filename, to aid with file management. (The files are quite large, so after use you will probably only wish to keep those likely to be used repeatedly.) A default LIGHTPrint directory that you set up keeps your LIGHTPrint files all in one location for easy access. That's pretty much it....both versions of LIGHTPrint have roughly identical interfaces and features (deliberately so, in fact.) LIGHTPrint_FW runs from within FinalWriter, whereas LIGHTPrint_WB does not need FinalWriter running, or even installed (it does however need a few other resources that are mentioned in the Installation section of this document.) @ENDNODE @NODE Author "Author" @{B}The Author@{UB} Well, I thought you'd like to know- I'm pretty ordinary (aside from my striking good looks)...just another guy with an Amiga (and thus demonstrating taste and refinement, as well as a certain irreverent view of the 'establishment'). I use my Ami mostly for...er....everything, on-line stuff, writing (had the good fortune to be published a bit), graphics (LW, WCS, IFX, Brilliance...can't just put a 'B' can I....ummm...XiPaint, MovieShop, Scala, more to come), spreadsheet and database - the great thing is I get to do all this at once. A couple days ago I was doing an article and concurrently had Scala, IFX, Final Writer, Ed, and GPFax all busily doing what they do best. That would choke a Pentium with twice as much Ram as I have. I like Arexx a lot. Seems to me to one of the chief reasons to own an Amiga. I know next to nothing about programming, but have managed twice now to come up with a useful utility (IMHO). I hope you find LIGHTPrint useful. In closing, buy software...support those who give good support, don't whine (I hate that!) Regards, Steve ad636@torfree.net @ENDNODE