Photo printing


It seems like printing should be the easy part, but getting it right can be hard. It involves printer hardware and printing software, sometimes with confusing interactions. It's very easy to do some things (print a 5x7 photo somewhere on a page) but very hard to do others (print a full page which looks just like I want).

Because of printer hardware differences (e.g. different unprintable areas on paper of identical size), it is impossible to produce a single image which will produce identical output on all printers. This description has a much more modest goal: to describe (and perhaps even explain) where a given printer/software combination will put an image on an output page.

Suppose you start with an image which is ih x iw pixels. You want to print the image on a printer which takes h x w paper but has a printable area of ph x pw, with known top/bottom/left/right unprintable areas. There are many choices in how the software decides to put the image to paper (slide/crop/scale in various orders), with levels of control over the process varying from nonexistent to elaborate.

Hardware

Information in the following table is from printer manual, printer PPD file, or printer configuration output where available, otherwise from experimentation (marked with `?'). Top/bottom/left/right/width/height are unprintable area specs and width/height of imageable area for 8.5"x11" letter paper. Epson 880 information marked with `?' is from the Epson 800 (not 880) manual.

Name Type Location Bought Cost dpi Top Bottom Left Right Width Height B+W ppm Color ppm Memory
HP 2100M B+W laser Office 3/99 $700 1200 .17" .17" .17" .17" 8.16" 10.66" ? N.A. 8 MB
HP PSC 2210 Color inkjet Office 6/03 $210 1200x1200 .07" .46" .25" .25" 8"? 10.53"? 2 .5
HP 5MP B+W laser Upstairs 4/96 $1000 600 ? ? ? ? 8.21" 10.67" ? N.A. 3 MB
Epson Stylus 880 Color inkjet Upstairs 6/01 $110 2880x720 .12"? .55"? .12"? .35"? 8.21"? 10.67"? 17 12
HP Officejet 5500 Color inkjet Arnold 9/04 $145 1200x1200 .07" .46" .25" .25" 8"? 10.53"? 2? .5?

HP PSC 2210

As noted above, the HP PSC 2210 unprintable area on 8.5"x11" paper is .07" at top but and .46" at bottom, so the printable area is roughly 8"x10.5" (actually 10.47"). The printable area is not centered vertically. HP says the printable area is displaced by .21" (not clear to me why; I would expect a displacement of (.46" - .07") / 2 = .195", sigh). As a result, using the same software to print the same image to HP 2100M and to HP PSC 2210 produces different output (namely, different margins at top and bottom of page).

Epson 880

XP Epson 880 printer driver shows three printable area options: standard, maximum and centered.

Software

There are numerous photo printing options under WinXP: the WinXP Photo Printing Wizard, the GIMP, HP Photo & Imaging, Olympus Camedia Master, and innumerable other programs like Opera, Paint, etc. Each offers different options and each handles scaling and cropping of images differently.

The Gimp

GIMP only prints a single image at a time, but it is rational where other printing options are not. It puts top left corner of the image in the top left corner of the printable area on the printer, with no scaling. Its only drawback is the human interface; it is cumbersome to print multiple images.

XP Photo Printing Wizard

XP Photo Printing Wizard provides the following output choices:

Size Option Per page Comments
full page fax print 1 [How is this different from "Full page photo print"?]
full page photo print 1
8" x 10" cutout print 1
5" x 7" cutout prints 2
4" x 6" cutout prints 2 or 3 [two different layouts]
3.5" x 5" cutout prints 4
2.5" x 3.25" wallet prints 9
.75" x 1" contact sheet 35 [5 x 7 layout]

The wizard crops pictures which are not in the correct aspect ratio. Thus, for decent prints, crop first to desired aspect ratio.

The wizard prints two 5x7s on HP PSC 2210 with .2"|.56"|.75"|.75" margins and with .25" margin between the two prints. It would be nice if the space between the two 5x7s were larger, since it requires cutting to 1/8" border if uniform borders are desired. Because of the .46" unprintable area at the bottom, the largest possible uniform border would be .18", which could be achieved with full page print, but it's surely not worth the bother. Of course, the 5x7 prints work fine when cut out without borders.

Experimenting with full page photo option and full page fax option, as described below, produces the following educated guesses on how the Wizard works:
Full page photo option scales image to printable area size, then slides it down and right. ... Examined results of printing printing 8.5"x11" image to HP 2100M using full page photo option ops top 1/4", bottom 1/4", right 1/2" (nothing cropped left!).
Printing 8.5"x11" image to HP PSC 2210 using full page photo option: crops top 1/4", bottom 1/4", right 1/2" (nothing cropped left!).
Printing 8.5"x11" image to HP PSC 2210 using full page fax option: scales image to ca. 7.6"x10.45", appears to not crop.
[Why does full page fax print crop this image to HP 2100M but scale it to HP PSC 2210? Is there a printer setting I don't see?]

HP Photo and Imaging

HP Photo & Imaging supports wallet, 3x4, 3.5x5, 4x6, 5x7 and 8x10, but does not produce not full page prints.

Olympus Camedia Master

Camedia Master is more flexible than Wizard or HP. It lets the user choose layouts (1, 2, 3, 4, 6, 8 or 9 prints per page) and size; some layouts match Olympus precut photo printing paper. It has "maintain aspect ratio" and "fit to frame" options as well as "Resize" and "Crop" editing. Printer settings include "margin equivalent", which appears to set top/bottom margins equally (e.g. expanding the the top margin on HP PSC 2210 to match the bottom margin). But in full page layout, Camedia will not let you specify an image size greater than 7.88 x 10.48 for HP 2100M, 7.85 x 10.44 for HP PSC 2210; are these really the max image sizes supported by the printer, or is in adding a small border? Experimentation suggests it is indeed adding a border, which is really stupid.

And here's a really braindead Camedia misfeature. All images are displayed in landscape mode, so portrait mode images are rotated 90 degrees ccw for display. But the software puts the bottom printer margin at the right edge, so by default the image is printed upside down! (It can of course be flipped.)

Even worse: test_85x11.jpg displays correctly in the directory window, but displays as a black block when dragged to the print page, and then it prints as a black page.

Experimentation

For testing purposes, wrote PostScript program test85x11.ps on 12/13/03 which generates 8.5"x11" graph paper (.1" grid). This allows fairly accurate assessment of image placement of the image on the printed page. Using gsview, generated equivalent 8.5"x11" test85x11.jpg at 300 dpi. Measurement is tricky (paper is not exactly 8.5"x11", for starters), so the numbers below are close but not exact.

HP 2100M

test85x11.ps printed directly via lp -s test85x11.ps: the numbers in the table (from .ppd file) above look right: .17|.17|.17|.17|8.16|10.66. Image is aligned with top left corner and is not scaled, hence only the margin areas are unprinted.

test85x11.jpg printed with WinXP Wizard Full Page Photo Print: .25|.17|.27|.23|8.08|10.50. Image is moved and scaled. Image is shifted down by .25 and shifted right by .17 (to left edge of printable area, but then cropped in printing!). The image is scaled to 8.16"x10.66" size (apparently to fit the printable area), horizontally by 8.16/8.5 = .960 and vertically by 10.66/11 = .969 [the horizontal and vertical scaling are measurably different]. After scaling, the image is shifted to the printable area and printed. The printed image includes the top edge of the source image and almost includes the bottom edge (perhaps missing due to paper size), but it is missing ca. .07" on the left and right of the scaled source image which should be printable but is not printed; I don't understand this.

Print test85x11.jpg via WinXP Wizard Full Page Fax Print: .32|.25|.25|.25|8.00|10.43. Image is moved and scaled. The image is scaled to 8"x10.3" size (why?), horizontally by 8/8.5 = .941 and vertically by 10.3/11 = .9364 [the horizontal and vertical scaling are measurably different]. After scaling, the image is shifted to the bottom left of the printable area and printed. Image is shifted down by .32 and right by .25. The printed image includes the top edge of the source image and almost includes the bottom edge (perhaps missing due to paper size). It includes the left edge (unlike the Full Page Photo Print above) and almost includes the right edge (again, perhaps due to paper size).

HP PSC 2210

test85x11.jpg printed with WinXP Wizard Full Page Photo Print: .07|.46|.25|.25|8.00|10.47. Consistent with HP 2100M conclusions above.

test85x11.jpg printed with WinXP Wizard Full Page Fax Print: .14|.53|.25|.25|8.00|10.37. Consistent with HP 2100M conclusions above. Seems to leave .07" larger border left and right than full page photo print.

HP 5MP

[UNDONE...]

Epson 880

[UNDONE...]

Previous experiment

Scanned in grayscale 8.5 x 11 page (graph paper with rulers overlayed) at 300 dpi via GIMP TWAIN/WIA scanning option. The full-page 300 dpi scan is 2550 x 3510 pixels (i.e. 8.5" x 11.70"). By default, GIMP thinks of images as 72 dpi, so it thinks this is a very large image (ca. 35" x 48"). Use Image >> Scale Image to reset resolution to 300; now GIMP thinks of image as 8.5" x 11.7". Use Image >> Set Canvas Size to reset height to 3300 (cropping off the bottom); now GIMP thinks of image as 8.5" x 11". [What is Canvas Size offset option?] Saved image to /home/photo/tmp/test_85x11.jpg.

Printing from GIMP crops the bottom and right edges of the image to fit the printable area of the output device. Thus, the printed image to HP 2100M has .25" margins, printed area 8" x 10.5", while the printed image to HP PSC 2210 has .25" margins left and right and width 8", but .07" top and .5" bottom, height 10.43". Note that the height is noticibly less than 10.5", and that the numbers don't quite agree with what the printer manual says.

[Previously:] Tried the following, but confused by the results. Scale picture to 8"x10"; set margins to .25"/.25"/.25"/.75", presumably producing 8"x10" printable area; print. But resulting output is 7.75"x9.875", not 8"x10", with 1/2" left margin and 3/8" top margin. [Which software and printer was this?]


etc index
All photos

All content © 2003-2004 by Stephen A. Ness.
Last update: 9/28/04