You should consider printing as part of your program's user interface, even though the user doesn't interact with printouts in the usual sense. Providing a print preview does make printing a more obvious part of the user interface. In fact, printing code is often derived from the display code—MFC's document/view architecture encourages this—and it has many similar types of problems. But the problems unique to printing include:
In this chapter, I'll explore useful printing features you should consider providing and offer some tips on how to test for printing problems.