Skip to main content

Intro to Print Wizard: the Four C's

One way to begin to understand Print Wizard's zillion options is to break them out into 4 areas: Connection, Content, Contortion, and Control.
By Connection, I mean how Print Wizard receives the data file that it will print or otherwise output. Content refers to the format of the data in the main print file. Then there are all sorts of Contortions that Print Wizard can perform on the data. Finally, there's the question of Control: how do you get Print Wizard to do what you want? Let's explore some options.


Print Wizard can simply be told to print a certain file. But it's not as simple as that. The indicated file might be on a local disk, or it might be on an FTP server or a web (HTTP) server. That's not a problem, PW can go fetch it.

In other cases, a piece of PW will run in the background, as a service, and receive jobs from some other process or even from another machine. A service can run in the foreground or it can be run as a Windows service. 

Although there are many options, your computing environment will generally push you into one or two options. 


What kind of data are you handing to PW to process? The answer may be indicated (or at least affected) by the connection, and the answer may restrict the options available for processing the data.

The data may be plain text, such as you'd be able to edit in a text editor such as Notepad on Windows, or "vi" on Unix/Linux. All characters are ASCII, and the only control characters are return, linefeed, maybe tab, maybe formfeed.

Or the data may be text with escape sequences, meaning sequences intended to control a certain kind of printer, such as a PCL-5 laser printer or an Okidata dot matrix printer. These sequences might set the linespacing, condensed print, character set, etc.

Or it might be the output of a Windows printer driver that Print Wizard has captured. Here it is definitely best if that data is in PCL-5.

The file might be of a standardized format that PW can understand, such as a PDF, a TIF, a JPG, an EMF, etc.

Finally, it might be data that has been constructed especially for Print Wizard, in Print Wizard Markup Language, or PWML. This looks a lot like HTML, but has some key differences.


Depending on the content, there are many contortions that PW can perform on the data. Presumably, since you've stuck Print Wizard in between the data generating program and your printer, you want PW to modify the data in some way.

If the data is plain text, PW can analyze it, figure out how to fit it onto the page, which font(s) to use, what paper orientation to use, where to break between pages, etc., and finally output it.

If it is PCL-5 data (or other supported printer languages), PW can translate that data, and make it work on any printer. If it is PWML, PW must parse the markup and obey those intructions.

In any case, PW can also combine the main data (the report) with one or more overlays or background images.

PW may preview the file for you, so you can see how it's going to look. Also in this phase you can sometimes modify the file, such as changing the data's placement on the page. Or you can add a signature to some pages, or otherwise mark it up.

Then it must output it to a printer, a PDF file, a fax, a TIF, etc. If it creates a PDF, it might email it, with some attachments. If it's a fax, it might include a cover sheet, and attach additional documents.

Then the cycle is done, and Print Wizard is ready for the next job.


With all these options, someone or something has to be in control, to tell PW how to process a particular job. Even here, there are options!

A series of command line parameters (CLPs) that are used to start up Print Wizard can tell it how to handle a job,

A service definition can tell a PW service how it will receive the job; that is, what the connection is.

A profile is a set of options that mostly correspond to the contortions shown above. A special master profile starts things off, but can be overridden by a specific profile.

Often, a service definition will lead to a profile which might lead to a series of CLPs.

Also, you can specify an init file, which can initialize and control the treatment of, primarily, plain text files.

All these mechanisms are external to the printfile itself. There are, though some internal control mechanisms, by which the content of the file can control its own destiny. Some file formats, notably PWML, PCL-5, and PDF, have mechanisms for controlling the paper size, orientation, font face and size, etc.

Finally, Print Wizard supports a format called bang files, or files with bang commands. A bang command is a special command word that starts with an exclamation point ("!"), a bang. If a bang command starts the file, then that command specifies how the following lines are to be handled, until PW reaches a) the end of the file, or b) a new line beginning with a bang command. This can continue until the end of the file.

Where multiple control mechanisms are used, they might conflict. Who wins? The last one wins, when looted at in this order: 1) master profile; 2) specific profile; 3) command line parameters; 4) bang commands; and 5) the data itself. In some cases, though, it is possible for commands to override things in the data itself, such as printer bin selection.


If you're suffering a confusion brought on by a conflation of concepts, there is a lot more information available. But I hope this scheme helps you at least frame your questions. Also, note that I've highlighted only the most common options in each catagory; many other options are available.

Copyright © 2023 Rasmussen Software, Inc. Legal Information & Privacy Policy
Send comments and suggestions to