Skip to main content
PrintManager class

Informs Windows that an application wishes to participate in printing. The PrintManager class is also used for programmatically initiating printing.


var printManager = Windows.Graphics.Printing.PrintManager;

public sealed class PrintManager

Public NotInheritable Class PrintManager

public ref class PrintManager sealed 


The PrintManager class has these types of members:


The PrintManager class has these events.

PrintTaskRequested Raised when a request to print has occurred. This event may be triggered by user action or via programmatic invocation of printing via the ShowPrintUIAsync method.



The PrintManager class has these methods. With C#, Visual Basic, and C++, it also inherits methods from the Object class.

GetForCurrentView Retrieves the PrintManager object associated with the current window.
IsSupported Indicates whether or not the app is running on a device that supports printing.
ShowPrintUIAsync Programmatically initiates the user interface for printing content.



The PrintManager class is responsible for orchestrating the printing flow for Windows Store apps. To use this class, you must first call the GetForCurrentView method. This method returns the PrintManager object that is specific to the current active window. Next, you must add an event listener for the PrintTaskRequested event. This event is raised by the system when a user indicates the possibility of initiating a printing operation. Typically this occurs when the user taps the Devices charm, but the event may also be invoked programmatically.

When a Windows Store app registers its "intention" to print, it creates a print contract with the print manager. Here is a JavaScript code snippet to show how to register your app for a print contract using a PrintManager:

    var app = WinJS.Application;

    // This function responds to all application activations.
    app.onactivated = function (eventObject) {
        if (eventObject.detail.kind === Windows.ApplicationModel.Activation.ActivationKind.launch) {
            //Register for print contract
            var printManager = Windows.Graphics.Printing.PrintManager.getForCurrentView();
            printManager.onprinttaskrequested = onPrintTaskRequested;

For more examples involving the print manager and to see some sample code for printing scenarios in Windows Store apps, see Printing in the Windows Dev Center.

Requirements (Windows 10 device family)

Device family

Universal, introduced version 10.0.10240.0 [for Xbox, see UWP features that aren't yet supported on Xbox]

API contract

Windows.Foundation.UniversalApiContract, introduced version 1.0


Windows::Graphics::Printing [C++]



Requirements (Windows 8.x and Windows Phone 8.x)

Minimum supported client

Windows 8 [Windows Store apps only]

Minimum supported server

Windows Server 2012 [Windows Store apps only]

Minimum supported phone

None supported


Windows::Graphics::Printing [C++]




[ MarshalingBehavior(Agile)]
[ Muse()]
[ Version(0x06020000)]

See also

Authoring a Windows Store device app for Printers
Developing v4 Print Drivers