June 08, 2007
Printing in CS3: The inside scoop
Hang around the Photoshop booth at a trade show for 20 minutes and you’ll get a very clear message: the task of simply printing a photo to a desktop printer, getting just the results you saw on screen, is much harder than it should be. After you’ve heard the hundredth question about setting up color management, then getting Photoshop and one’s printer driver to play well together, you’ll really want to get this situation sorted out.
The good news is that we’ve been thinking about these problems for quite a while; the less-good news is that solving them takes time and coordination. Adobe has been working with the printer vendors, as well as the Apple & Microsoft operating system teams, on plans to improve the printing experience. [Update: Please see this follow-up post.]
For the CS3 cycle we brought on a new printing expert, Dave Polaschek, to buff up Photoshop’s printing code. He’s been able to make some visible improvements (e.g. a print preview that’s color managed), and to do quite a bit more behind the scenes. In response to some questions about how PSCS3 prints (especially on Windows), I’ve asked Dave to contribute a guest blog post. Read on to hear his thoughts.
John’s been seeing some comments here about printing on Windows from Photoshop CS3, and asked me to respond. Rather than post a short comment, I asked if it would be okay to guest-blog something longer, discussing the changes that we made to the printing in CS3. Not sure if he knew what he was getting into when he said "yes," but he did, so here we go:
The change which seems to be causing the most consternation is the change from application-wide page setup to document-specific page setup in Photoshop on Windows. This is the way the Mac version has always behaved, and was the way the Windows version of Photoshop was intended to behave way back in the day, but for one reason or another, that never quite got hooked up.
With CS3, I was brought in to "improve and modernize the printing code," and part of that effort has been trying to get the Mac and Windows versions more in sync. In the short run, this means trying to rip out code that behaved differently between the two platforms, or add code to make them behave identically because of a shortcoming on one platform or the other. In the long run, it means less code to think about and to write so we can add new features more quickly.
But people are still feeling pain. Well, there are at least two solutions to the problem. The first is using Actions in photoshop. If you start recording a new action, go to File->Page Setup in Photoshop and set up your page and printer and all the printer settings, you can run that action on every new document you create to give it that page setup. Or even easier, if you always want all documents set up the same for your default printer, you can follow the directions in our technote on non-centered documents [link updated] which tells how to change the page setup system wide.
And that brings me to the centering issue. Photoshop CS2 would happily center images with little pain on just about any printer out there. In CS3, things seem a little rougher. Why is that?
In CS2, the printing code in Photoshop would helpfully adjust the margins of the paper to zero. If the printer driver couldn’t actually handle margins of zero, it was up to the driver to correct things. Or cut off part of your image. Or make your printer explode (though thankfully, few vendors chose that option). It really was out of our control once we’d changed things initially, but in most cases it seemed to do what people wanted, which was make it easy to center images on the paper.
The problem with that was that it didn’t work that way on the Mac, and it won’t work that way on Vista. Again, the solution was to bring the two platforms into closer alignment. We’re going to leave setting the margins to the printer driver (which, since it actually knows about your printer, should have a better idea of what’s realistic than we do), and all will be well. Except for some pain now, as people have to learn to hunt for the "Minimize Margins" or "Center Image" or "Borderless" or other vendor-specific language in the printer driver’s dialogs. Or in the worst case, you might have to set up a custom paper size, with custom margins that actually does the right thing, but that should be pretty rare.
In the long run, it’s for the best. Photoshop shouldn’t have to know or care that a printer has a half-inch margin on one side of the paper and a one inch margin on the other. That’s the sort of thing the people who make printers should have to worry about. Are there some older printer drivers that aren’t going to work as well this way? Almost certainly. But we’ve got to look forward. There are a ton of neat things we can do on Vista and Leopard. But we can’t take advantage of the new technologies if we’re spending all of our time working on incompatibilities with drivers that were written last century. Like drinking cod-liver-oil, it may not be the most tasty thing right now, but it’ll be good for us.