6

I have a humble Brother HL-1110 monochrome laser printer with 1MB of RAM. That's pretty short and, in the beginning, I thought I was only going to be able to print plain text documents or small PDF documents because laser printers need to store the entire page in their memory before they actually print it.

But, for some reason, this doesn't seem to be the case. Many of my prints are well above 1MB, and some are at around 40MB per page (at least that's what CUPS claims to be the case).

I'm very glad I can print large documents but I'm also confused. Presumably, my printer should run out of memory; but it doesn't. Why is that?

gpo
  • 163

3 Answers3

3

You can't print a page that won't fit in 1MB. It's not possible to stream information to the printer as it needs it. The entire page must fit in memory.

At 300DPI, you need 10.98KB per square inch (300*300/8/1024) to permit any possible output. If you multiply this by the printable area of a standard piece of paper, you get 984KB (10.98 * 8.3 * 10.8). So 1MB is sufficient to print an entire page at 300DPI.

Compression can be used to allow a page to include some portions at higher resolutions, and the driver should be smart enough to do the best job it can rendering the page you print in the memory available.

2

Your printer will not run out of memory as you think. The memory holds what is necessary to print what is there at the time, the moment it processes that, it is available to be "re-filled". The "document" flows through the printer, nothing is retained. It is a buffer. As @Keltari says below, it can also be used to store printer fonts.

Xavierjazz
  • 8,218
1

As David said; just because a page that you are printing is >1MB, doesn't mean that the image sent to the printer is the same size.

A Word doc, for example, will hold loads of information within the file;

  • the actual text on the page

  • the font of the text

  • the size of the font

  • the text colour

  • background colour

I could go on. However, when its sent to the printer, the printer does not need to know the name of the font or the size of the font or even what is highlighted. It will just be told "print this colour in this place".

Imagine the page to be a huge grid. The PC will tell the printer "you need to print black from 'cell' A1 to D5".

Jonny Wright
  • 991
  • 5
  • 16
  • 36