Hacker News new | ask | show | jobs
by sytelus 1524 days ago
I am still confused why one needs to produce a document as "program" as opposed to set of pixel to be printed. If we know the page size in advance (which we do while pressing the print button), I would expect document program rasterizes it and so "print anything" can be achieved pretty simply. Why they needed to invent a new programming language called postscript?
6 comments

This is basically how a dedicated device driver for a particular printer works, but back then many operating systems like DOS didn’t have a standardised device driver architecture. Each application like Lotus 123 or Word Perfect would need its own driver for each printer.

To get around that you would write a driver that produced output that could be ingested by as many printers as possible. That intermediate output could be an image in theory, but a 300 dpi page image, especially for a whole document, was enormous at the time, far too big to fit in the memory of most computers or even fit on disc even with compression.

A language makes for a very compact, flexible and efficient intermediate format. Back in the 90s I set up a Linux box at work as a print sever, running the Ghostscript open source postscript interpreter, to print to various printers that didn’t natively support postscript. That was my first use of Linux.

Because in the good old days you expected to share an expensive page printer with many, and it made sense to put a powerful embedded computer (for the time) to do rasterizing within it. It could save on bandwidth, RAM, and storage. The RAM requirements for rasterizing a page would be quite costly at the time.
Rasterize for what?

A plotter doesn't need rasterization.

If you're printing colour offset then the halftone grid would probably use a different rasterization to the one that you want to use for an inkjet or dot-matrix.

"Rasterization" if needed at all probably needs intimate knowledge of the printing hardware.

Part of the point was that it was device independent, and simple rasterization wasn’t practical for printing on both low end office printers and the highest end commercial printing imagesetters.
I regularily have to print some specific pdf files that fail to print on my Epson printer. The workaround I found was to rasterize them with ImageMagick, because then they print. But so slow.... It is not an efficient approach.
Plotters were much more common those days, also.