To print from an app in Windows 8, the app must access Windows printing and provide the formatted content to be printed.
Accessing Windows printing
Your app accesses Windows printing by registering for the Print contract in each view of the app from which you want users to be able to print. Registering for the Print contract means obtaining a PrintManager object, creating a PrintTask object, and handling the printing events. Quickstart: Print from your app and How to print using an in-app print button show how to do this.
After registering for the Print contract, your app can customize the print experience, if necessary. How to change default settings in the print window shows one way to customize the default print experience.
Windows printing provides a preview feature to all apps that have registered for the Print contract. For the most consistent user experience, Windows Store apps should use the print preview functions provided by Windows printing instead of creating a print preview feature specific to the app.
Note about window.print()
Providing formatted content to print
Because the screen display of your Windows Store app is likely to be formatted differently from what would look good on paper, the app must create a copy of the content that is specifically formatted for printing.
Note Customized printing features like printing specific pages or custom print settings can only be added to Windows Store apps using C++, C#, or Visual Basic and XAML. For more info about adding custom printing features to your app, see Printing (XAML).
Best Practices for developing print-capable Windows Store apps contains other valuable tips for printing content from your app.