Warning: session_start(): Cannot send session cookie - headers already sent by (output started at /home/content/13/11000713/html/imagemaker-webs/imagemaker/content/whitepapers/ExactPrint.php:5) in /home/content/13/11000713/html/imagemaker-webs/imagemaker/content/whitepapers/ExactPrint.php on line 6

Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at /home/content/13/11000713/html/imagemaker-webs/imagemaker/content/whitepapers/ExactPrint.php:5) in /home/content/13/11000713/html/imagemaker-webs/imagemaker/content/whitepapers/ExactPrint.php on line 6

Warning: include(/include/commonfunc.php): failed to open stream: No such file or directory in /home/content/13/11000713/html/imagemaker-webs/imagemaker/content/whitepapers/ExactPrint.php on line 7

Warning: include(): Failed opening '/include/commonfunc.php' for inclusion (include_path='.:/usr/local/php5_6/lib/php') in /home/content/13/11000713/html/imagemaker-webs/imagemaker/content/whitepapers/ExactPrint.php on line 7
ImageMAKER White Papers: Exact Printing, WYPIWYF
Welcome to ImageMAKERHome Product Information Component Info White Papers Specifications Technical Support Demo Download About ImageMAKER

The Leader in TIFF Imaging Solutions

Warning: include(/include/otherSites.html): failed to open stream: No such file or directory in /home/content/13/11000713/html/imagemaker-webs/imagemaker/content/whitepapers/ExactPrint.php on line 90

Warning: include(): Failed opening '/include/otherSites.html' for inclusion (include_path='.:/usr/local/php5_6/lib/php') in /home/content/13/11000713/html/imagemaker-webs/imagemaker/content/whitepapers/ExactPrint.php on line 90

White Paper: Exact Printing

Introducing the ability to fax exactly what you print.

The imageMAKER Exact Printing feature allows users to produce fax images that look exactly as they would look printed to the local printer. We call this feature ‘What You Print is What You Fax’, or WYPIWYF printing.

This ability to do exact printing is of most use when printing the following documents:

  1. Legal Documents: Line 70 of page 130 is the same whether it was printed to your office printer, or sent as a paperless fax.
  2. Advertising, Layout and Desktop Published Documents: The carefully prepared document does not suddenly reformat itself the minute you switch to the fax printer.
  3. Spreadsheet Presentations: Strategically positioned tables and page breaks no longer turn to a garbled mess when sent as a fax image.

This document is an overview of the exact printing functionality. For a more technical discussion, a technical note is available here.

A Behind the Scenes Look at the Technology:

The basic problem that imageMAKER Exact Printing addresses is how to solve the font rendering problem for different output resolutions. Fax images are 204x196 and 204x98 dots per inch, while standard printer resolutions are 300x300, 600x600 and 1200x1200 dots per inch. When Windows creates a 10 point font, it creates a different font for each of the output resolution values, and this is where the problem lies.

At 300x300 dpi, a 10 point letter ‘f’ is 17 pixels across, and 29 pixels high. The same font at 204x196 dpi should be 11.56 pixels across, and 18.95 pixels high. Because there is no such thing as a ‘half’ pixel, the operating system rounds the font size up or down. An additional pixel here and there across multiple characters on a line eventually leads to formatting issues, and the printing application may have to re-format the text.

An additional font scaling issue is caused by font hints. The operating system follows rendering hints, which ensure the font looks properly formed at any resolution. For this reason, a font rendered at low resolution may look different from the same font rendered at a higher resolution. This difference may affect the font width, font kerning, and subsequently the line widths of formatted text. If the line widths change, then the document may have to be re-formatted. Typically this problem manifests itself when one line at the end of the page moves onto the next page, and causes everything from that point on to be shifted down.

Here are examples of the font rendering:

  10-point font rendered at 75 DPI; magnified:

  10-point font rendered at 200 DPI; magnified:

10-point font rendered at 300 DPI; magnified:

The end result of this is that the test moves around on the page, sometimes rather dramatically. Here is an example:

This image is a compressed version of the preview of a single page rendered with three different printers. All that was done was to change the printer to be used for outputting the document. You can easily see that the text is changing size and alignment, that a rule drawn across the page in one format is being broken into two pieces in the others, and that the page footer is appearing in only one of the formats.

The key to understanding the imageMAKER Exact Printing feature is to think of the fax printer as an exact copy of your desktop printer. The printing application prints to the fax printer the same as your desktop printer. The fax print driver then scales the resultant memory image down to 204x196 or 204x98 to create a final fax image.

Exact Printing still has its costs. The following is a list of trade-offs:

  • Speed – Rendering an image takes more time, up to 4 times as long.
  • Memory – Rendering an image takes more memory. To emulate a 600x600 printer, the driver may need access to 34 megabytes of memory for a standard letter-sized page. (Minimum machine memory is 64 Megabytes).
  • Font Appearance – The rendered fonts are not quite as crisp as when printed with Exact Printing turned off.

One problem not yet solved by Exact Printing is the area of ‘custom printer’ fonts, where the application uses a font provided by the printer hardware. In this case, we are still substituting the equivalent Windows font in its place.

Setting up Exact Printing:

The Exact Printing feature is currently implemented in the NT drivers only. To enable Exact Printing in the NT 4.0 drivers, you need to do the following:

From the Printers Dialog, right click on the imageMAKER Print driver, and select ‘Document Defaults…’ Then, in the Default Document Properties dialog, scroll down to the ‘What You Print Is What You Fax’ setting, and set the following fields:

Resolution reported to Windows NT: this is defined by the printer you are emulating (see Emulating a Printer, below). You can also set it manually, of course, if you want to use a different resolution. It is the same setting as the standard Resolution setting at the top of the window; changing one changes the other.

Resolution conversion: Enabled

Output Resolution: This can be set to either "Fine Fax [204x196]" or "Standard Fax [204x98]". It controls the resolution of the output that evntually goes to the fax modem or fax server.

Source image depth: Choose 1 bit, 8 bits, or 24 bits. (24 bits may slightly improve picture rendering, but requires more memory, and longer processing time). Not all options are always available; 1-bit is available only if the Color Mode setting at the top of this dialog box is set to "Monochrome (faster, less memory)" or "Fast Windows dither", and in these two cases, 8-bit and 24-bit are unavailable.

Emulating a Printer:

If you wish to have the fax printer emulate an existing printer on your system, you would proceed as follows:

From the Printers Dialog, right click on the imageMAKER Print driver, and select ‘Properties…’ Then, in the Printer Properties dialog, scroll down to the "Printer Operation" setting, and set the following fields:

Emulate printer: As shown, a list comes up with all the printers defined on your system. Select a printer you wish to emulate from the printers available on your system, and the resolution and unprintable regions for that printer will be replicated into your current settings.

Unprintable regions: Set to the printer's values when you select a printer to emulate. You can also change them manually should you wish to set margins.

Other Notes:

To Turn Exact Printing off: Set resolution conversion to ‘disabled’.

Printing from Excel: Excel is a particularly troublesome application, as it can somewhat randomly ‘change’ the printer resolution based on its own internal requirements. As best we can determine, it actually caches the DEVMODE used with one printer in the spreadsheet file, and attempts to pass that cached DEVMODE to any other printer that it is called upon to print to. To solve this problem, after opening up an Excel spreadsheet, hit the ‘Print Preview’ button, or the ‘Print Button’, then select ‘Printer Properties’, and confirm that the default resolution is correct before doing the print operation. We are still looking for a way to code around this problem. We could potentially only ‘display’ one resolution, but would still have a problem turning Exact Printing on or off during a print cycle.

Sample FAX with Exact Printing ON

This sample image was produced using exact printing, and a 24-bit source depth; it is scaled up 200% over a standard fax image. Note that the image still looks very good at this magnification. At 800% you can see artifacts of the exact printing technique in the horizontal and vertical lines in the letters:

With exact printing disabled, the image appears somewhat sharper:

Particularly in the text, the characters are visibly sharper with exact printing turned off.

However, the image will have its line breaks in the expected places and will appear at the exact same size out of the receiver's FAX machine that it appears out of your laser printer.


Warning: include(/include/footer.htm): failed to open stream: No such file or directory in /home/content/13/11000713/html/imagemaker-webs/imagemaker/content/whitepapers/ExactPrint.php on line 281

Warning: include(): Failed opening '/include/footer.htm' for inclusion (include_path='.:/usr/local/php5_6/lib/php') in /home/content/13/11000713/html/imagemaker-webs/imagemaker/content/whitepapers/ExactPrint.php on line 281