XpsDocumentWriter.WriteAsync Method (String, XpsDocumentNotificationLevel)


Writes asynchronously a specified XPS document with notification option to the target XpsDocument or PrintQueue.

Namespace:   System.Windows.Xps
Assembly:  System.Printing (in System.Printing.dll)

public void WriteAsync(
	string documentPath,
	XpsDocumentNotificationLevel notificationLevel


Type: System.String

The path of the source document.

Type: System.Windows.Xps.XpsDocumentNotificationLevel

An indication of whether notification is enabled.

When notificationLevel is disabled, the XpsDocumentWriter copies the serialized XPS document to the target XpsDocument or PrintQueue that created the XpsDocumentWriter. When notificationLevel is enabled, the XpsDocumentWriter first deserializes the document, next reserializes it, and then writes it to the target with progress notifications as each page is output.

Although the XpsDocument class has a singular name, an XpsDocument can be one FixedDocument or a set of multiple documents. This method adds the FixedDocument elements in the source to the sequence of FixedDocument elements in the target XpsDocument or PrintQueue.

If notificationLevel is specified as ReceiveNotificationEnabled, notifications are produced only when the document is serialized, not printed. To receive notifications the document must be reserialized. When a document is reserialized all content from the Package that is not required to be preserved by the XML Paper Specification is removed. The reserialization will also remove all extensions from the FixedPage markup, including any extended XPS content.

If notificationLevel is specified as ReceiveNotificationDisabled the document will not be reserialized and any extended content will be preserved, even when printed.

By design this WriteAsync method does not call the WritingPrintTicketRequired event.

.NET Framework
Available since 3.0
Return to top