Browsers and Print Size
Date: Around 1999
I have a question that is not directly related to ENC, but deals with html
pages. I'm hoping someone can help me.
I have put a graphic online. (scanned at 72 ppi, jpg)
I have constrained the display width and height so that it displays fine on
both a Mac and PC (about 7 inches wide, 10 inches tall)
When printed on a Mac, it fills the page appropriately (7x10), But when
printed on a PC, it prints much smaller (like 5x7).
I need the viewers to get a printout that is the same exact size, no matter
if they print from a Mac or PC.
Does anyone know if there is an html tag to constrain the print size? It
must have to do with the resolution (Mac 72, PC 96 ppi), but I don't know
how to resolve it and my school needs an image posted that will print
consistently in size.
And HTML was supposed to be device independent!
You have two steps to separately consider. The image has a size
(in pixels) of its own. It has a physical size (in inches) on the
computer monitor screens, and it has a physical size on the printer,
both of which may be different from each other.
If the image is unconstrained by the HTML, i.e. you have not used
WIDTH and HEIGHT parameters in the IMG tag, then it should be
displayed at its native size in pixels on the browser, whatever
machine that is running on. The image will *look* bigger or smaller,
physically, depending on how many pixels per inch your monitor is
displaying. A Mac monitor typically displays 1152 lines of 800
pixels, I believe, while a common high-resolution Windows 95/98
display is 1024 lines of 768 pixels. You can see that the image will
be a different *physical* size on each monitor. But you don't care
about this because your want the printed image to be the same size.
When you print the image from the computer, you must make sure that
the image is saved and/or sent to the printer as is, without any
reformulation of the number of pixels in it. This is typically what
happens anyway, but you should check the command you use to print the
image to be sure you aren't constraining the image size or otherwise
mucking with the number of pixels the printer thinks it's supposed to
Finally, you have (I presume) two different printers, and the
printers may print a different number of dots (pixels) per inch, just
like the monitors display a different number of pixels per inch. If
you cannot make both printers print the same number, then the only
easy solution I can see is to make two different images, with pixel
sizes adjusted for each printer, so that the physical sizes come out
the same. In other words, if one printer is printing 72 dpi and the
other 100 dpi, and you want a finished print 8" x 10", then for the
first printer you need a 576 x 720 pixel image, and for the second you
need a 800 x 1000 pixel image.
About the only thing that I have found in a situation like this, is to
create a table and place the image in the table. You can see an example at
http://www.afcomchicago.com. The two images at the top are both formated
by a table.
I don't remember exactly what width equals an inch, but I have a few books
laying around that may have your answer. Otherwise, it would be a game of
trial and error to get the exact size you would like.
Click here to return to the Computer Science Archives
Update: June 2012