We’ve been looking into client-side printing in Silverlight 5, and we’re trying to figure out if it’s viable for our application. The question mark is PostScript compatibility. I understand that if the target printer (or its driver) doesn’t support PS, then Silverlight will fall back to bitmap printing, but I also understand that bitmap printing is pretty slow. So the question of whether we use it or not largely hinges on the question of PostScript ubiquity.
My question is this: how common are PS and PS-compatible drivers? Are they totally ubiquitous and everywhere, or should we anticipate many customers who have to fall back to the slower bitmap method of printing? And if many/most customers have to fall back to bitmap printing, then is vector printing really viable in SL5 for commercial use?
So, I’m going to go ahead and answer my own question, since I found out.
We tried printing a two-page document that contained one image, two horizontal lines, and a whole bunch of text. First it was printed using a PostScript-compatible printer driver, and it printed the two pages perfectly in normal printing time (i.e., not unduly long or anything).
We then tried printing with a non-PostScript-compatible printer driver (thus forcing Silverlight to print using bitmap printing. It took 4 minutes, generated a 360mb spool file, and printed out two utterly blank pages.
Now it’s entirely possible that we were witnessing a freak bug in the printer driver. However, we came to the conclusion that it’s not a chance we were prepared to take, and thus we deemed Silverlight 5 Vector Printing unusable.