Email Print radically different from display
Hi Team, This issue of rendering to print has been around for a while, but I thought I'd bring up. A Newsletter I receive sometimes shows a poll result (see image; Screen Newsletter Poll Result) It looks like it is done by stretching an image to fit the ratio.
… I pulled that code for one of the bars from the "View Source" option.
In Print though, it looks quite different (see image; Print Newsletter Poll Result 1 page only) The first bar takes up 5 pages. The image, POLL_bars_blue.jpg, is 1×20px, so why Thunderbird renders it to 5 pages deep rather than just 20px did make me wonder.
Does anyone have a clue? Can it be constrained somehow?
All Replies (3)
My "guess" is that the translation of pixels to points is messing up. Probably, but not certainly a print driver issue.
A point is generally thought to be 1/12". But what a pixel is, is not really defined. From the perspective of CSS authors it is gerrally assumed to be some factor of 1⁄96. The reality however is pixels are almost always scalled these days, or stuff would be these little things in the corner of the screen. So even though 12 pixels as is described you would assume 12⁄96" the reality of the rendering engine will be scaling that to some factor, usually between 1 and 3 to actually fill the screen and this is where the problems arise. Another scaling factor needs to be applied to fit the paper in the printer, based on the dots per inch resolution of the printer. In steps the printer driver. Historically printers used either PCL or postscript languages to describe a page and these were fairly generic, but also patented technologies. Along came cheap inkjet printer. You can't sell that for $20 if the PCL or PostScript vendor wants a $20 license for the use of their language, so most of these cheap printers use something called GDI. This works by trying to use the window graphic device interface to make each page into a graphic and pint it like you would a picture of the kids.
So all this to say printing a can of worms. If it is funky, it is almost always the printer driver being used in conjunction with the windows system screen resolution and video driver not playing well together.
There are some common things that do need checking;
- Check the printer is actually the correct one. Thunderbird has a habit of hanging on to old printers and messing up which is your default.
- Check the paper size is actually correctly set in the printer drive in Windows. Historically only those in the USA get anything like the correct pape4r size by default as they are the only ones in the world to use letter sized paper. But with most software being written in what used to be the third world, along with the device manufacture. Some drives are now defaulting to the international standard A4. So this always has to be checked.
- The next thing is look at the fit to page settings in the preview. There is usually a fit to page and a fit to page width option. Setting the fit to width is a very good choice of HTML.
- Turn off hardware acceleration in the options of Thunderbird. Remember the video driver is important in windows printing. This setting really has no "correct" setting. Personally I find most compatible is off, but the developers disagree. They also spend no time in support!
Make sure the printer drivers are the latest from the printer manufacturer and the same for video drivers. Folk tend to leave that to windows update. But the reality is most driver releases are never pushed out through windows update.
Print driver : Save to PDF - which I suspect ships with Thunderbird as it renders a "distilled" version, the windows native PDF print mode flattens the content. Paper size : A4, correct for this region, probably correct for all regions except the US Fit to page width is the default. There is a scale option, but I've never touched that. Hardware acceleration: Irrespective of that setting, the aforementioned images still stretch from 20px to multiple (A4) pages.
The printer driver (PDF generation) is as "up to date" as ships with Thunderbird. And the Video drives are as "up to date" as available, an App called "Driver Support Assistant" reports all current.
One thought came to mind when looking at the last email to arrive while looking at the image stretching. The first bar is being stretched 1px × 86.0361243349202 and it takes up 1¾ pages. The second bar is being stretched 1px × 215.00000000000003 and takes up 4¼ pages.
So maybe Thunderbird's print render is stretching the images proportionally in both axis instead of only by width as when displayed in reading mode. 20px × 86.0361243349202 is 1721px, maybe that equates to the 1¾ page print render. Similarly, 4300px is 4¼ pages?