Navigation: home pagetechnical articles

Printing

How to print from RapidFile

RapidFile can be used in conjunction with various versions of Windows (inside a DOS console) and GNU/Linux (in conjunction with the DOSemu software) and therefore can use the same printers as are used by these host operating systems. it is not always very easy to obtain printed reports. This page gives a few tips for people using RapidFile in the second decade of the 21st century.
Content revision history:
Created on 2nd September 2010
Updated early October 2010

History

When RapidFile was created in 1986 many people were still using dot matrix line printers. Page printers (such as laser printers) were still uncommon and expensive (and extremely heavy).

The problems

Printing from RapidFile under any version of DOSemu (for Linux) or Windows, is not always very straightforward and there are two basic problems.

  1. The first problem is that RapidFile doesn't have any drivers for contemporary printers. Most of the drivers supplied with RapidFile are for dot matrix, continuous feed, line printers and as such are not much use with page printers such as laser printers.
  2. The second problem is that RapidFile tries to access the printer using a technique that neither Linux or Windows support easily; whether it works for you will probably depend on your exact configuration of hardware and software, the direction of the prevailing wind and whether the fairies at the bottom of your garden are singing loudly or softly.

Fortunately there are three ways to work around the aforementioned problems. These techniques are not very complicated but neither are they extremely simple. However, once you have made a little effort there is a good chance that you will be able to have RapidFile use any printer that you have got.

Workaround 1: print to file

RapidFile does give you the option of printing to a file. If you use this option RapidFile will create a file that has the same name as your database file but instead of having a ".RPD" extension, it will have a ".TXT" extension. The file will be created in the same directory as the database file. Once you have found the file it can be imported into your favourite editor and word processor and then printed.

This method is a little clumsy and can suffer from file-locking problems, whereby one program locks the print file so that another program cannot open it. When this happens RapidFile will not be able to print again to the same file. The only known way of overcoming this problem is to quit RapidFile (after saving the database, of course), delete the print file manually and then restart RapidFile. This is a clumsy work-around but if you have a computer that is fast enough to run Windows XP then saving a database, stopping and restarting RapidFile and reloading the database is an extremely fast and relatively painless operation.

Workaround 2: capture the DOS printer port (only for Win98 and earlier)

If you are using Windows98 or earlier, and if you are running RapidFile inside a Windows 'DOS box' then you can instruct Windows to 'capture' all of the data that goes to the DOS printer port. For most people the port that will need to be 'captured' will be LPT1: but a few people might be using LPT2:. The option to 'capture' the DOS port will be found somewhere in the Windows properties menus for the printer and these can be accessed from the Windows control panel.

Note, RapidFile will always use parallel port LPT1 or parallel port LPT2, or serial port COM1 or serial port COM2, but when Windows 'captures' the DOS port it can redirect the RapidFile printer output to anywhere it likes. So, this means that you can connect your printer by parallel port, USB port, serial port, Ethernet, Bluetooth or a satellite connection to a printer located on an orbiting space station, and RapidFile will never know or care.

Workaround 3: Using a network printer

Your 'DOS box' can use any printer that is on your network. Actually the printer doesn't need to be on a network; it can be on the same machine that you are running DOS, but DOS won't know that and doesn't care anyway.

To create a network printer you simply need to tell Windows that it is to share the printer as if it were on a network, and once this is done you need to tell your 'DOS box' to use it. You will need a version of DOS that supports networking but most people will have such a version because every DOS box from Windows98 onwards does support networking. For versions of DOS that are inside Windows9x, the DOS command that you will use to use the network printer is:

net use LPT1: \\print_server_name\printer_name /P

For DOS inside Windows 2000 or Windows XP you should use a slightly different command, namely:

net use LPT1: \\print_server_name\printer_name /persistent:yes

You must change 'print_server_name' and 'printer_name' to whatever the names are on your network or computer. Also you can change LPT1 to be LPT2 or COM1 or COM2, depending on which printer port you want to use with your DOS programs.

Configuring the RapidFile printer

The original RapidFile diskettes contained several 'drivers' for printers that were sold in the 1970s and early 1980s. In order to have RapidFile use a contemporary printer it is possibly necessary to do two things:

  1. You must tell RapidFile to use a fairly basic printer driver, so that there are fewer things to go wrong.
  2. You might need to tell your printer to 'emulate' one of the older printer models.

RapidFile printer drivers

The RapidFile diskettes contained quite a few 'drivers' to allow RapidFile to print to different printers. In the 21st century most of those printers will already have been scrapped and the drivers are therefore mostly obsolete. Nonetheless, to print from RapidFile you will need some sort of driver.

The driver files: printer1.drv and printer2.drv

I still need to write some helpful notes about the printer driver files.

Printer choice

More generally, I personally have made my life simpler in the matter of printing by buying a particular kind of printer. I use DOS, Windows and Linux software and getting them all to print reliably is not easy if one tries to buy only the cheapest printers available. I solved my requirements by purchasing a Kyocera printer with additional memory and optional postscript emulation. The significance for RapidFile is that some (possibly all) of Kyocera's range of laser printers come with a page description language (called KPDL) that uses plain text. If you create your print reports using RapidFile's custom form feature then it is possible to embed print commands into the form as if they were part of the text on the form. However, when the form arrives at the printer, the KPDL print commands will not appear on the paper but will change the font or line spacing or do whatever operation you provided commands for. My particular printer (FS1700, no longer manufactured) was not especially cheap (at the time it cost more than the computer) but I reckon I saved more than the cost of the printer simply because everything worked and I didn't have to replace any software or spend time and money upgrading other things because the printer wasn't compatible. The postscript emulation meant that everything “just worked” with Linux and some DOS software, the KDPL language allowed me to print reasonably well with RapidFile and the other emulations (HPLJ4 I think) took care of anything that didn't understand postscript. Also, eight or nine years and 100,000+ pages later it is still going just fine. Actually I think the printer will also emulate an Epsom dot matrix line printer and a Diablo golf-ball printer (both from the early 1980s) but I never needed to use those options. Of course splashing out good money for a printer might not be appropriate for you right now and I cannot guarantee that my happy experience will be repeated for you but next time you need a printer I recommend you review in detail whatever Kyocera are then offering. For me the money I paid for a Kyocera printer was money very well spent.

You could also consider buying a contemporary dot-matrix printer. You would need to check that it is able to emulate something like an IBM Proprinter or Epson FX85 or FX100; it is likely that many modern dot-matrix printers will contain these emulations because dot-matrix printer technology has not changed very much in 25 years and there is little reason not to provide them.

External links

Navigation: home pagetechnical articles
Disclaimer (the small print): The information within this page and within this web site is offered merely in the hope that somebody somewhere might find something of it that is useful in some matter. It is not guaranteed to be accurate or reliable in any way and you rely upon it entirely at your own risk.
Site locator:rapidfiledotcodotuk
W3C HTML validator    W3C CSS validator