XpsDocumentWriter.Write Method (String, XpsDocumentNotificationLevel)


The .NET API Reference documentation has a new home. Visit the .NET API Browser on docs.microsoft.com to see the new experience.

Writes synchronously a specified XPS document to the target XpsDocument or PrintQueue.

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

public void Write(
	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 serializedXPS 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 (XPS) 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 Write method does not call the WritingPrintTicketRequired event.

.NET Framework
Available since 3.0
Return to top