Skip to main content

Printer Drivers and Print Wizard

Print Wizard works closely with your printer driver, making it possible to print to any Windows compatible printer driver. Print Wizard will

  • translate PCL to work on non-PCL capable printer
  • save printer parameters for the next print job through a print profile
  • automatically switch to spooler mode if the print job already contains printer-specific codes
  • work with forms and graphics overlays combining it with print data
  • print full page graphics
  • automatically scale to fit printer paper and margins

A little on printer "dev mode"

Since each printer driver contains additional parameters and settings not common among all printers, Windows printer driver model needs to store these somewhere. This structure is called a "dev mode" and includes all the global settings for the printer.

In most cases, when you go through your application's printer setup dialog, you are changing these global settings for the current session only. Some programs will then save these settings as the global settings, which is NOT good practice, for they will save these settings for the next session of the program only (not globally), while others will just throw those settings away.

Print Wizard is somewhere in between. If you run the user interface and print a file from there, the "dev mode" settings, such as number of copies to print, the handling of collate, stapling, sorting, etc. apply to the file(s) being printed at that time. Likewise if you print from the Print Wizard engine directly, the settings that may get set at that time also apply only to the current print job.

However, from the Print Wizard User Interface, you can save off the current settings for use a number of different ways:

From the User Interface you can set printer setup options and then save that as a "master profile". If a master profile exists, that profile is always loaded after the factory default values are set. This master profile can and does contain current "dev mode" settings to be reloaded next time any job using the Print Wizard engine starts. This is critical to understand as it can influence all printing through Print Wizard including Print Wizard Services and Windows Services for Print Wizard.

Second, as an alternative to a global master profile, you could save off the current printer settings through the User Interface as a Print Wizard print profile. When you have one of these profiles saved off, you can then utilize it and it's "dev mode" settings for a specific printer, for any print job you want

  • You can have a desktop shortcut that you can drag and drop a file on that will inherit the print profile settings
  • You can set up a service of any type that references a print profile whenever a job is processed
  • You can tell the Print Wizard engine to print using a print profile when printing by including a command-line parameter

    c:\printwiz03\printwiz.exe /profile=myprintsettings.profile myfiletoprint

Other printer driver issues to be aware of

Print Wizard does utilize the Windows printer driver for all settings and will try to work within the realm of the printer driver when printing.This includes when we do an "auto-fit" for page size and when we do margins.

Our auto-fit page logic will attempt to manipulate the paper size, margins and page size for a printer, by figuring out what the unprintable area of the page is, comparing it to how much data is coming in, what type of printer you are printing to and what paper size the printer is currently set for. In doing all this, we arrive at a best-fit printout.

The problem is that some printers will tell us we cannot set that page size up, others will let us know we have a problem (then we can adjust) and still others report no errors, but print to the next closest page size, throwing off our printing.

The same can hold true for both the unprintable area on a page and the enforced print margins. Sometimes we know, sometimes we get returned errors that we can adjust for, and sometimes the printer driver information never lets us know there is a problem.

If you run into issues with page size, paper size, printable area and/or margins, please feel free to contact us on your specific make and model of printer and we will see if we can help.

Print Wizard services

With Print Wizard services you can remotely print through one of the service types, to your local printer without the host knowing what type of printer it is, or even its capabilities. This makes it quite simple to have your remote application be completely printer independent where the Print Wizard engine can manage the printer interaction for you.

When doing this, print profiles become an integral part of your print job management.

Print Wizard's PWML (Print Wizard Mark-up Language)

The Print Wizard Mark-up Language, PWML, is similar in nature to HTML web page tags, in that they can be included directly in the data stream of a print job and interpreted as needed. You can do things such as underline, bolding, barcode, and more. These are things that in the past would be included as printer-specific escape sequences. Now they can be totally printer independent PWML tags.

The Print Wizard engine takes the PWML tags and interprets them specifically for your printer driver, substituting print codes as needed. You need do nothing to make them work. However, in general, your printer driver still needs to be able to support basics in order for everything to print as you expect. More recent printers, even the cheap Windows-only printers, should work adequately for all your PWML needs.

Additional Notes

Print Wizard works as closely as possible with printer drivers, with various overlay files and with various input file types. It tries to be as smart as possible in managing the numerous combinations possible.

PCL 6 Files

The current release of Print Wizard cannot read in or translate PCL that was generated with a PCL 6 printer driver. At present Print Wizard only support PCL 5 or earlier, but we are working on this (give us a call if you have this issue).

However we can still print a PCL 6 file to a PCL 6 printer driver, just not as an overlay. This is because Print Wizard will see the printer specific codes and try to dump the job direct to the printer.

PCL Overlays

One of the cleanest overlay file types is when you capture a print out from a PCL printer driver (with the "Print to file" option) and use it as an overlay for that same driver. As long as the file is PCL 5 or earlier, Print Wizard can take that print file and use it as an overlay. However, you do have to make sure the file extension for that file is ".pcl", so you may need to rename the print file.

The exception to this is if the originating file is a PCL file with a .pcl extension and the overlay file is a PCL file with a .pcl extension. In this case, you need to turn on "translatepcl" within a Print Wizard print profile or by including a "/translatepcl" command line switch. This is necessary since a printer itself cannot combine two PCL files together.

Differences in PCL Printers and Printer Drivers

It is worth noting that not all PCL printers are alike. Some may have more memory, faster processors, better vector or graphics engines, macro capabilities, etc. All of this influences the printing of PCL files and the speed with which they can print them. This also influences how overlays print, at what speed and what file format will be best optimized for that printer.

A good example is the comparison between a large HP 4550 Color Laserjet and the HP 2355 PCS (print-copy-scan) desktop printer.

  • They will both print PCL5 PCL files, but a differing speeds depending on the file content (the 4550 prints any file quickly, where the 2355 prints PCL files with bitmap graphics much slower than those with text or vector graphics). It's just the horsepower.
     
  • The 4550 will print a PCL5 overlay with no problems, where the 2355 will not. Since the 2355 does not support macros, you have to turn on translatepcl and let Print Wizard handle the overlay in order to print the overlay (it just discards it otherwise).
     
  • You can set up a PCL6 printer driver for the 4550, and print PCL6 directly to the printer. But the 2355 cannot work with a PCL6 driver and it cannot handle PCL6 print jobs.
     
  • You can print with a print-level of "raw" to the 4550 as long as the data is PCL data. With the 2355 you cannot print "raw", you have to set it for spooler (so that the printer driver handles passing the information).

General differences in printers and printer drivers

As you can see from the examples above, there are lots of "gotchas" that are hard to predict. Watch out for printer updates, both firmware and printer driver updates. These are critical and may solve problems. Also know your printer, its default language and what type of data you are passing to it.

If you run into problems or have any questions, we can help. Give us a call.

Copyright © 2024 Rasmussen Software, Inc. Legal Information & Privacy Policy
Send comments and suggestions to rsi@anzio.com