Proform Troubleshooting


Strategies & Methods

While not totally inclusive, here are some ideas for diagnosis.

Divide and Conquer

In order to make sure you know where a problem really resides, try separating out the pieces. Instead of your DB application invoking Proform, make it write its field data to a file. Then you can examine the input, run Proform by hand from the command line. Save the output of Proform, and look at it, either via a binary editor or PCL interpreter. (See Tools) Also try running with the -x option and look at the debug log file.

Is the printer really getting what you are sending?

It is far too easy to garble the printer stream before it gets to the printer. In unix, make sure that your template will print as you want it to without Proform being in the middle. You might have to specify some options to lp to make it print raw, such as:

lp -oraw

Under DOS or Windows, the normal print command is practically guaranteed to alter your binary output in strange and useful ways. The only way I know of getting raw output is:

copy myfile lpt1: /b

Is the field really in the template file?

Some DTP software does strange things when printing fields. I have seen some packages which decide to position each individual letter, so that [name] becomes pixel# [ pixel# n pixel# a pixel#...

Proform will never find such a field. You can probably see from the -x log if it doesn't find a field reference, but you can use a binary editor on your template to figure it out for sure. (See Tools)

Force Fonts

If Proform is inserting a file, or generating barcode pixels, the DTP software had no means of expecting it to happen. So, you might have to force the DTP software to reset fonts afterwards. For example, consider the form:

[name]

[postnet-barcode]

[telephone]

If your telephone number comes out hozed, you might want to force the DTP software to reset the font to what you want before printing it, perhaps by setting it to something else, printing a space, then setting it back to the desired font.

Beware the Reset

When including a file, make sure it doesn't have a Reset command in it. (Escape B, or 1B45 in hex) That says, "yo printer, forget everything I told you, including any downloaded fonts." If you have a Reset in a graphics include file, you can just zap it out to hex 00's. (See Tools)

Force Positioning

Normally each word gets positioned separately when using proportional fonts. When using Monospace fonts, your DTP software may not bother to position each word. If that happens, a form with two or more fields on the same page will have output staggering left and right.

You can readily see if this is the case via a binary editor. (See Tools) You can usually force it to reposition at the words you want by changing the font, then changing it back.

Proform is case sensitive

[name] is different from [NAME}