WordPerfect for DOS Updated | Site Map | Search | Troubleshooting Guide | Feedback | Voluntary Contributions | FAQ

Print from WPDOS 6.x to Any Windows Printer: Macros and Ghostscript Method

What this method does | Do you need it? | How to set up this method | Bypass the Windows Print dialog | Installing soft fonts | Home page

This page provides methods for printing from WPDOS under 32-bit Windows only! If you have 64-bit Windows (as you almost certainly do if you bought you computer after around 2010), then use either the vDosWP method or the DOSBoxWP method for running WPDOS, which automatically prints to your Windows printer.

Important: This page is for use with WordPerfect for DOS 6.0c, 6.1, and 6.2 only! See a separate page for a similar method for use with WordPerfect for DOS 5.1 and 5.1+. (This method has not been tested with WPDOS 6.0, 6.0a, and 6.0b, and may not work with any of those bug-ridden early versions.)

This page provides an alternative to other methods described on this site for printing from WPDOS to any Windows printer. It also provides a highly accurate, high-resolution, Windows-based print preview of your documents that is in many ways superior to the WPDOS built-in print preview. The method on this page (the one you are reading now) is one of the recommended methods, but the others are still available if you have some reason to prefer any of them. This method should work under any recent version of Windows, including Windows XP, Windows Vista, and Windows 7.

Warning: This method will only work correctly if you follow the setup instructions exactly. You will probably find it easier to use a different method that can be installed automatically.

The macros and software described on this page are the work of Robert Holmgren, who also wrote software and macros for copying and pasting between WPDOS and Windows available elsewhere on this site.

See a separate page for alternate methods of printing from WPDOS to any Windows printer.

What this method does

The method described on this page will allow you to print from WordPerfect for DOS to any printer that can be used under Windows, even if no WordPerfect driver is available, and even if the printer is connected to a USB port that WPDOS cannot recognize, or if the printer is a remote printer on a network. If you can print to your printer from a Windows application, you can print to it from WordPerfect for DOS by using this method. This method will also allow you to preview your files in a Windows viewer program that provides more accurate and higher-resolution displays than the built-in WPDOS preview feature. It also creates PDF (Adobe Acrobat) files directly from WPDOS. The method also enhances the font support of almost any printer for which WP provides only limited support.

You do not need this method if a WordPerfect for DOS printer driver exists for your printer! Be sure to read the section below that will help you answer the question, "Do you need this method?"

The initial setup takes about ten minutes, and you need only set up the procedure once. After you complete the setup, the method is entirely automatic and needs no intervention from the user. 

One limitation of this and all other any-printer methods is that it does not let you select different paper trays for different pages in your print jobs. All pages will be printed from the default input tray (which is defined by the Windows driver for your printer).

A side benefit of this method is that WordPerfect now treats your low-cost inkjet printer as if it were a high-powered color PostScript printer. Also, the standard 35 PostScript fonts act as if they were built in fonts to your printer, even the printer's native WPDOS driver supports only Courier or other typewriter-style fonts. For more details on using a PostScript-type printer with WPDOS, see the notes on Ghostscript drivers on a separate page.

The tools you will need for this method are a set of macros and other software written by Robert Holmgren and the Windows version of GPL Ghostscript, a PostScript interpreter that serves as the standard printing method for Linux and many variants of Unix. (GPL Ghostscript is free for personal use.)

The method works in this way: After the initial setup, you run a GSPRINT.WPM macro to start the process of printing (this macro can be assigned to the standard Shift-F7 keystroke that normally opens the WPDOS Print menu); when you print, an output file in PostScript format is automatically created on your disk; this file is automatically sent to the Ghostscript program, which converts it the format used by your actual (non-PostScript) printer, and sends the converted file to your printer to be printed. The whole process is fully automatic and takes only a few seconds. 

Do you need this method?

Important note: Even if your printer is connected to your computer by a USB cable, you may be able to print from WPDOS without using this method. Read the section on another page that answers the question, Do you need this method?

How to set up this method

Before you begin: You must be able to print from Windows applications to your printer. If you have not tested your printer, press Ctrl-P now and print this page. If your printer does not print the page, then stop and install the software that came with your printer. When, and only when, your printer works with Windows applications, return to this page.

Extremely important note: Don't even think about setting up this method unless you are willing to follow the instructions. If you decide to ignore any of the instructions, please do not send me messages asking me why you can't print from WordPerfect or why you don't get the results you want. Instead, go back and follow the instructions with close attention to every detail.

Also: do not even try to use these instructions unless you fully understand the concept of an "example". Many of the instructions listed below use examples of directory names and filenames. You must be prepared to replace the example names with the actual names found on your system. The instructions below explain clearly how to find those actual names. If you are one of the visitors to this site who do not understand what an "example" means, please stop now, and do not attempt to use this method!

Installation summary:

(1a) Download and install GPL Ghostscript; look for the most recent version that is available in a filename with a name like gs###w32.exe (where ### is a number like 901 or higher). (If you already have Ghostscript installed on your system, you can probably use your existing version, but read the following paragraph and write down the information that you will need about your existing setup.)

In the installation options, be sure to select the option that installs fonts, and take very careful note of the directory into which the installer proposes to install the software. If the directory includes a name longer than eight letters, or which includes a space, such as "C:\Program Files\GS", change the proposed directory to something like "C:\GS" so that there is no space in the name and no directory name longer than eight letters. When the installation is complete, use Windows Explorer to find the name of the directory into which the Ghostscript programs have been installed; this directory name will include the version number, and will probably look something like this example: C:\GS\GS9.01\BIN. To be absolutely certain that you have found the correct directory, you can use the Start Menu, then Search, and search your hard disk for the file "GSWin32C.EXE." Remember that the directory name given here is an example and that you absolutely must find the actual directory name on your system. Write down the actual directory name, not the example. It will start with a drive letter, then GS, then a directory name that consists of a version number, and will end with BIN. Write down this "Ghostscript directory" name very carefully; you will need it later.

(1b) To create PDF files from WPDOS, and also to have a highly accurate Windows-based preview of printed output, download and install  GSview, a PostScript viewer program designed to work with Ghostscript. The installation program will offer to install the program in something like "C:\Program Files\Ghostgum" or C:\GHOSTGUM; we very strongly recommend  that you replace the proposed directory with the same directory you specified for Ghostscript in step (1a), typically "C:\GS" (no quotation marks) so that the GSView program and its directory will be in the same directory that contains AFPL Ghostscript. When GSView has been installed you must find the directory that contains the file GSview32.exe, which (if you followed our recommendation) will be something like C:\GS\GSVIEW - but you may want to use the Start Menu's Search feature to confirm this. Write down the name of this "GSView directory" very carefully; you will need it later.

Absolutely crucial step: Open the GSView program that you just installed. If you installed it normally, the program will be listed in the Start Menu list of  Programs or All Programs button, as something like Ghostgum/GSView/GSview 4.9. Double click on the program name to run it. On the program's top-line menu, choose Options; a drop-down menu will appear; place a checkmark on the option “Ignore DSC” (you can do this by clicking on this item). This step is absolutely required for use with WPDOS, because WPDOS  does not understand PostScript Document Structuring Conventions (DSC). If you know what you are doing, check any other options that you want, then (very important) click on "Save Settings Now". If you use US Letter paper or any paper size other than A4, choose the Media menu and place a checkmark (by clicking) next to the size you use. Feel free to browse among the other options to see what’s possible, and if you change anything, again click on "Save Settings Now". Then close GSView.

(2a) Start WPDOS 6.x; use Shift-F1, 5 -Location of Files, 2-Macros/Keyboard, 1-Personal Path. A directory name should be listed there (for example, C:\WP61\MACROS); write down the name of the directory, and write down that this is your "Macros Personal Path" directory. If no directory name is listed, enter the name of your main WP directory (for example, C:\WP61), and write down that this directory is your "Macros Personal Path."

Don't be clueless! Don't assume that you already know which folder contains your macro files, and don't assume that you can safely skip the instructions to use Shift-F1 to find the actual location of the folder. Clueless Visitor No. 60 was convinced that he knew exactly which folder to use, and he wasn't going to waste his valuable time by following the instructions, so, in a later stage in the instructions, he copied macro files into the wrong folder, and of course this method didn't work. Clueless Visitor No. 60 ended up wasting far more time by ignoring the instructions than he could possibly have saved by ignoring them. Don't be clueless like Clueless Visitor No. 60! Follow the instructions! (One of a series of Don't be clueless! warnings provided by this site as a public service.)

(2b) Still in WPDOS 6.x, use Shift-F1, 5-Location of Files, 4-Printer Files..., 1-Personal Path. Again, a directory name should be listed there (for example, C:\WP61\PRINTERS); write down the name of the directory, and write down that this is your "Printer Files Personal Path" directory. If no directory name is listed, enter the name of your main WP directory (for example C:\WP61), and write down that this directory is your "Printer Files Personal Path". Exit WordPerfect for DOS.

Don't be clueless! Don't assume that you already know which folder contains your printer files, and don't assume that you can safely skip the instructions to use Shift-F1 to find the actual location of the folder. Clueless Visitor No. 75 was convinced that he knew exactly which folder to use, and he wasn't going to waste his valuable time by following the instructions, so, in a later stage in the instructions, he copied a printer file into the wrong folder, and of course this method didn't work. Clueless Visitor No. 75 ended up wasting far more time by ignoring the instructions than he could possibly have saved by ignoring them. Don't be clueless like Clueless Visitor No. 75! Follow the instructions! (One of a series of Don't be clueless! warnings provided by this site as a public service.)

(3) Download the self-extracting archive file GSPrnVw6.EXE to the directory whose name you wrote down in step (2a), the “Macros Personal Path” directory. Open a DOS or command prompt  (Help! How do I open a DOS prompt?), navigate to that directory, and run the GSPrnVw6.EXE program. The program will extract a number of files into the same directory. Make sure that GSPrint.WPM, VRFYGS.WPM, KMD.EXE, and WP60GSCR.ALL are present in the directory. Do not close the DOS window!

(4a) Using the DOS or command-prompt Copy command, copy the file WP60GSCR.ALL to the directory whose name you wrote down in step (2b) above - the “Printer Files Personal Path” folder. For example, your command at a DOS or command prompt might look like this (this is an example only — be absolutely certain to use your actual Printer Files Personal Path, which may be entirely different from the one shown below!):


then press Enter. Do not close the DOS or command window!

(4b) Still at the DOS or command prompt, type the following command (it does not matter which directory you are in when you type it):


the press Enter. The operating system will respond on the next line with something that resembles one of the following examples:


Remember that these are examples only! You may see something entirely different! Examine the system’s response. It consists of a “path” specification, followed by a filename (COMMAND.COM or CMD.EXE). Do not close the DOS or command window! Mentally extract from this response the path specification only and drop the last backslash (“\”), for example (these are only examples, corresponding to the three examples above!):


(4c) Do not close the DOS or command window! At the next DOS or command prompt, write the following command, carefully copying the “path” into your command - as in this example:


(important: remember that you must omit the final backslash from the "path") and then press Enter. Do not close the DOS or command window! Remember that the path shown here is an example; you must use the path that you saw on screen in step (4b).

(4d) Still at the DOS or command prompt, copy the file GoWP.EXE to the same directory to which you copied KMD.EXE in step (4c). Use the same command shown there, but replace KMD.EXE with GoWP.EXE. You should now close the DOS or commmand window by typing the command "EXIT" (no quotation marks) at the prompt.

(5a) Restart WPDOS.  Press Shift-F7/Select/Add Printer, and select one of the drivers whose name begins with "Ghostscript" and ends with "wpdos.org"; choose the driver that best matches your actual (hardware) printer. For example, if you have a color inkjet printer, choose one of the "Ghostscript color" printers that most closely matches the output resolution of your actual printer (look at the specifications of your actual printer if you don't know the output resolution). If you aren't sure, make a guess; the differences are trivial. Make sure that the driver you choose is selected (has a star next to its name) in the Select Printer screen. Please remember: In the list of Additional Printers, you should not look for the real name of the printer that you own and you should not try to find the name of a printer that might be similar to your own! Choose one of the printers whose name begins "Ghostscript".

(5b) After selecting and installing the Ghostscript driver, you must direct the printer output to a file. Use Shift-F7/Select (Select is near the upper right corner of the Print dialog), then, in the list of installed printers, make sure the highlight is on your Ghostscript printer driver. Select Edit, and in the Edit Printer Setup screen, select Port, then Filename, and enter a pathname that consists of your Macros Personal Path that which you wrote down in step (2a) and the filename WPDOC.PS. In the following example, the example of your Macros Personal Path is in green : C:\WP61\MACROS \WPDOC.PS - but remember to replace the path shown in green with the actual Macros Personal Path on your system! Click OK, OK, Close, and Close until you are back to the document editing screen.

(6a) Still in WPDOS, use the F5 List Files screen to navigate to your Macros Personal Path directory, and open the file GSPrint.WPM. (WPDOS 6.x macros can be edited in the same window as any other WPDOS file). You will find three "User Variables" described at the top of the file, with pithy instructions for setting them. For now, we are concerned to set only the first User Variable, called “GSDir”. This variable must contain the "Ghostscript directory" name that you wrote down in step (1a), and is the location of the Ghostscript executable file named GSWIN32C.EXE. Copy that directory name exactly into User Variable “GSDir”, so that it looks like this example:


Make sure to surround the directory name with quotation marks, thus: “C:\GS\gs0.01\bin”! Note that several sample specifications are listed as comments, i.e. on "comment lines" prefixed by two forward slashes “//”. Comments are not part of the actual macro code, only text shown for explanatory purposes, so you can leave the comment lines in the file, no matter what directories are listed there. The active User Variable is the single line that has NO prefixed slashes, and this is the line that you want to change. When you have checked your typing, press F7 and choose Yes to save the file.

(6b) If you performed step (1b) and you want to create PDF files from WPDOS, press F5 twice to return to the List Files display of your Macros Personal Path directory, and open the file GSViewer.WPM. Again, there are three User Variables at the top of the file. The first is identical to the first User Variable in GSPrint.WPM, and you should type exactly the same path that you typed in step (6a) immediately above. The second User Variable "ViewDir” is also mandatory and essential, and similarly represents the path to GSView executable GSVIEW32.EXE; this path is the "GSView directory" that you wrote down in step (1b). Add it to the file so that the relevant line in macro reads:


The third User Variable “DefaultView” refers to the type of result you want to display. There are two choices, and three possible settings that can be entered in this User Variable. You can enter “F” to always display “F”ormatted text straight out of WP, which will appear on screen exactly as it will appear on paper. This is the fastest choice (quickest to display, usually almost instantaneous). Or enter “P” to always output your text as a “P”DF (Portable Document Format file).  This takes a bit more time to appear, depending on file size, because the macro (using Ghostscript) has to create the PDF first, then display it. The third choice is to enter “A”, to “A”sk each time the macro is run which of the two types of file you require; this is the macro's default setting. If you select “F” or “P”, you never see the Ask dialog; the macro  always displays Formatted or PDF text, according to your choice. When you have carefully entered the User Variables, press F7 and choose Yes to save the file.

Important note if you use WordPerfect for DOS 6.0c or earlier (ignore this note if you use 6.1 or 6.2): While editing GSViewer.WPM, search for six lines in the file that contain the string "cap"; disable those lines (in other words, comment them out) by adding two forward slashes (like this: // ) to the very start (left edge) of each of the six lines; then save the file.

(7) Verify the installation by running the VRFYGS macro (press Alt-F10, type VRFYGS, and press Enter). This macro thoroughly checks file placement, User Variable selections, Printer driver installation, Port assignments, and so forth. If an error is identified and reported, fix it (it will tell you what is wrong), then rerun VRFYGS.WPM until the program declares “Installation Successful!”

(8)  (Recommended if you intend to use GSPrint and/or GSViewer often.)  Assign the GSPrint.WPM or GSViewer.WPM macro to a keystroke by editing a WP keyboard definition. If you do not know how to edit a keyboard, here are the basic steps: Shift-F1, 5-Keyboard Layout, then, if you already have a keyboard selected, choose 3-Edit, or, if no layout is selected, choose 2-Create and give it a name (perhaps GSPTR). In the Keyboard editing screen, choose 1-Create, type the Alt-P key (Alt-P is only an example; you can use any key-combination that WPDOS recognizes, but be careful not to use a key-combination that you already use for something else, such as F7 or Shift-F1); then 2-Description and enter (without quotation marks) “Ghostscript Print”; then 5-Macro, 2-Retrieve Macro; and in the Macro Name field, enter GSPRINT or GSViewer. Press OK or Close until you exit the menu. Repeat this procedure to assign other macros to keystrokes if desired. Press F7; highlight the name of your keyboard layout if it is not already highlighted; press 1-Select, then F7.

If you only have one printer, for example any "Windows-only" printer, and you will henceforth be entirely reliant on GSPrint, feel free to assign GSPrint to Shift-F7. Even if you still have other printers, there will be no loss of functionality if you choose Shift-F7. You can print to any printer in your arsenal using GSPrint's interface; if you elect not to print with Ghostscript, GSPrint will exit gracefully and printing will proceed normally. Because GSPrint is primarily designed for Ghostscript printing, a Warning screen will display if a suitably-configured Ghostscript printer is not your currently “S”elected default printer. You can just breeze through this screen by hitting Enter, to Proceed directly to the standard Print dialog, where you can change drivers, or not, as you choose.

File location summary: At the end of the installation, the following files should be in the correct directories, as follows:

Test the GSPrint installation: Create or open a document and print it by launch GSPrint, either with a dedicated keystroke or with Alt-F10. Your WPDOS screen will go blank for a moment, then return; the familiar Windows "Print" dialog will appear, with your default Windows printer listed as the destination printer. You can choose another printer if you wish, change the number of copies, etc. (You can print directly to a printer without ever seeing this Print dialog by customizing your installation after successfully testing it.) Click OK or press Enter, and your document should print successfully. If it does not print, or if the Print dialog fails to appear, repeat all the instructions, slowly and carefully, until it does.

Test the GSviewer installation. Create or open a document, and run the GSviewer macro. Test both functions: viewing a file and creating a PDF file. The PDF file created by GSVIEWER will always be placed in your Macros Personal Directory, and will always have the name of the current file (without the extension of the original) followed by a .PDF extension. Be sure to rename and save any PDF file that you want to protect, because it may be overwritten.

Optional: Customize the macros to avoid the Windows Print dialog and for more efficient printing: See the next section, below, for details. 

Bypassing the Windows Print dialog and other customizations

The GSPrint.WPM macro may be customized so that it prints either to the default Windows printer (bypassing the Windows Print dialog), or to a specific Windows printer, whatever the default might be (also bypassing the Windows Print dialog), and also so that GSPrint uses the fastest and most efficient available Ghostscript driver for your printer.

To print to the default Windows printer automatically, and to refine Ghostscript's operation: In WordPerfect, use the F5 List Files screen to navigate to your Macros Personal Path directory, and open the file GSPrint.WPM. (Remember that WPDOS 6.x macros can be edited in the same window as any other WPDOS file). Scroll down to the line that begins "// Ghostscript printer driver name" and study the instructions. This section of the macro lets you specify two things: the Ghostscript driver that sends data to your printer, and whether to print to the current default Windows printer or to display the Windows print dialog when printing.

Find the line in this section of the macro that reads:

GSPrinterDriver="mswinpr2 dialog"

This tells the macro to use Ghostscript's mswinpr2 driver, which can send data to any Windows printer, and to display the Windows Print dialog whenever you use the macro to print. If you want to print to whatever the default Windows printer might be,  change dialog to default and save the file. This will prevent Windows from prompting you to select a printer when you use GSPrint.

If, and only if, you follow the steps shown below that force GSPrint to print to a specific printer, you may also change mswinpr2 to a the name of driver that will work more quickly, and perhaps with better-printed output, with your printer. Substitute drivers exist for some but definitely not for all printers. To learn if such a driver exists for your printer, perform the following steps:

First, determine whether your printer is listed on the Ghostscript printer compatibility page. If your printer is listed, note the "devicename" under which it appears. For example, the Canon BJC-1000 is listed under bjc600. Write down this devicename (but remember that bjc600 is only an example; do not use this example unless you actually have a printer that is actually listed under bjc600 on that page; now read the preceding phrases three times or until you fully understand it!). If your printer is not listed, try to find a model from the same manufacturer with a very similar number; if you are in any doubt, look up your printer in the database at LinuxPrinting.org. (For example, as explained at LinuxPrinting.org, the Canon BJC-5000, 5100, and 8500 will not work with the bjc600 or any other bjxxxx devicename.)

Next, use the Windows Start Menu to run Ghostscript. (From the list of programs, find  Ghostscript, then Ghostscript #.##). You will only need to do this once. At the Ghostscript command line, type

devicenames ==

(note the space followed by two equal signs) and press Enter. Do not type anything else! In the list of names that appears, look for the devicename that you wrote down earlier; look for the name but do not type it! (The list is very confusing and is very difficult to navigate, because it is not arranged alphabetically and some names are broken in the middle. You may need to look two or three times before you find the name you want.) The Windows version of Ghostscript does not support all the devices supported by Linux versions, and the devicename you wrote down earlier may not be present. You must find a name that exactly matches the one you are looking for; an approximately similar name is not good enough! If you find the devicename you want, you will be able to use it in the GSPrint.wpm macro; if you do not find it, then do not change the macro's default setting of mswinpr2.

After reading the list of devicenames, still at the Ghostscript command line, type quit and press Enter to close Ghostscript (or simply press Alt-F4 to close Ghostscript without typing anything). You will not need to run Ghostscript manually again.

If (1) you found a devicename that you are certain is suitable to your printer and (2) you found the exactly identical devicename in the list in Ghostscript itself, and (3) you have already performed the steps required to print to a specific printer (described immediately below), then, and only then, should you change the line

GSPrinterDriver="mswinpr2 dialog"

to read something like this (remember, this is only an example, and you must use a real Ghostscript devicename instead of the one shown here!):


To print to a specific printer, no matter what the Windows default printer might be: Click on the Start Menu and select Printers or Printers and Faxes or Settings/Printers, or any similar item that displays a list of your Windows printers. Write down the exact name of the printer you intend to use, for example, "hp DeskJet 990c" (but remember that this is only an example; you must use the name of a real printer that you find on the list on your own system). If you print to a network printer, right-click on the name of the printer, choose Properties, then go to the General tab and write down the exact name that you find under "Print to the following port" (for example: "\\ROSCOE\DJ990" - but remember that this is only an example).

In WordPerfect, use the F5 List Files screen to navigate to your Macros Personal Path directory, and open the file GSPrint.WPM. (Remember that WPDOS 6.x macros can be edited in the same window as any other WPDOS file). Scroll down to the line that begins "// Always print to one hardware printer device..." and study the text that you find there. You will find a line that reads as follows (with no forward slashes at the start of the line):


Between the quotation marks, very carefully type in the printer name that you wrote down earlier. Be certain to surround the name with the two quotation marks. Save the file. Run VrfyGS.WPM again to confirm that your modifications are valid; if you entered an incorrect name for your Windows printer, VrfyGS will offer a list of correct names to choose from. Finally, confirm your setup by printing a document using the GSPrint macro.

Installing Type 1 soft fonts in Ghostscript printer drivers

With WPDOS 6.x, you can use any soft font in any of the formats supported by the program. For the best output quality and print speed when printing to Ghostscript, use PostScript Type 1 soft fonts wherever possible. You can install any Type 1 (PostScript) soft font as a "soft font" for the method described on this page by using the built-in WPDOS 6.x font installer. With Ghostscript (as with any other PostScript printer), a Type 1 soft font that is installed as a "soft font" will produce faster and more reliable output than the same font installed as a "graphic." "Soft fonts" are rasterized (converted to a bitmap) by the printer (in this case, Ghostscript), while "Graphic fonts" are rasterized by WPDOS.

Note also that if you intend to convert PostScript output files to PDF format, you should always install Type 1 fonts as "soft fonts"; if you install the fonts as "graphic" fonts, any text that prints in that font will look rough-edged, and you will not be able to search or copy any text printed in that font. However, if you want an accurate representation of your fonts in WPDOS 6.x's graphic view, page view, or print preview mode, you should install each Type 1 font as both a "soft font" and as "graphics." WordPerfect will use the font as a soft font when printing but as a graphic when displaying text on screen.

Technical note: The "soft font" remains on your computer's hard disk until you print; the "graphics" version is stored in the WP.DRS file that WP uses to display its graphics and print preview modes.

If you want to convert TrueType fonts to Type 1 fonts, use the ttf2pt1.exe utility described on this site's separate page on installing Type 1 fonts in WPDOS 5.x PostScript drivers.

For euro-enabled Type 1 soft fonts, see this site's euro page.

Home Page  Site Map