XpsDocumentWriter.WriteAsync 方法

定义

以异步方式写入XpsDocumentPrintQueue或创建 。XpsDocumentWriter

重载

名称 说明
WriteAsync(FixedPage, Object)

将指定的 FixedPage 异步写入目标 XpsDocumentPrintQueue

WriteAsync(FixedPage, PrintTicket)

将指定与目标 FixedPage 一起 PrintTicketXpsDocumentPrintQueue异步写入或 。

WriteAsync(Visual, Object)

将指定的 Visual 异步写入目标 XpsDocumentPrintQueue

WriteAsync(Visual, PrintTicket)

将指定与目标 Visual 一起 PrintTicketXpsDocumentPrintQueue异步写入或 。

WriteAsync(FixedDocumentSequence, PrintTicket, Object)

将指定与目标 FixedDocumentSequence 一起 PrintTicketXpsDocumentPrintQueue异步写入或 。

WriteAsync(FixedDocument, PrintTicket, Object)

将指定与目标 FixedDocument 一起 PrintTicketXpsDocumentPrintQueue异步写入或 。

WriteAsync(FixedPage, PrintTicket, Object)

将指定与目标 FixedPage 一起 PrintTicketXpsDocumentPrintQueue异步写入或 。

WriteAsync(Visual, PrintTicket, Object)

将指定与目标 Visual 一起 PrintTicketXpsDocumentPrintQueue异步写入或 。

WriteAsync(FixedDocumentSequence, PrintTicket)

将指定与目标 FixedDocumentSequence 一起 PrintTicketXpsDocumentPrintQueue异步写入或 。

WriteAsync(DocumentPaginator, PrintTicket, Object)

将指定内容与DocumentPaginator目标PrintTicket一起异步分页的内容写入到目标XpsDocumentPrintQueue

WriteAsync(FixedDocumentSequence, Object)

将指定的 FixedDocumentSequence 异步写入目标 XpsDocumentPrintQueue

WriteAsync(FixedDocumentSequence)

将指定的 FixedDocumentSequence 异步写入目标 XpsDocumentPrintQueue

WriteAsync(FixedDocument, Object)

将指定的 FixedDocument 异步写入目标 XpsDocumentPrintQueue

WriteAsync(DocumentPaginator, PrintTicket)

将指定内容与DocumentPaginator目标PrintTicket一起异步分页的内容写入到目标XpsDocumentPrintQueue

WriteAsync(DocumentPaginator, Object)

将指定 DocumentPaginator 内容中的异步分页内容写入目标 XpsDocumentPrintQueue

WriteAsync(String, XpsDocumentNotificationLevel)

使用通知选项将指定 XPS 文档异步写入目标 XpsDocumentPrintQueue

WriteAsync(Visual)

将指定的 Visual 异步写入目标 XpsDocumentPrintQueue

WriteAsync(FixedPage)

将指定的 FixedPage 异步写入目标 XpsDocumentPrintQueue

WriteAsync(FixedDocument)

将指定的 FixedDocument 异步写入目标 XpsDocumentPrintQueue

WriteAsync(DocumentPaginator)

将指定 DocumentPaginator 内容中的异步分页内容写入目标 XpsDocumentPrintQueue

WriteAsync(String)

将指定的 XPS 文档异步写入目标 XpsDocumentPrintQueue

WriteAsync(FixedDocument, PrintTicket)

将指定与目标 FixedDocument 一起 PrintTicketXpsDocumentPrintQueue异步写入或 。

WriteAsync(FixedPage, Object)

将指定的 FixedPage 异步写入目标 XpsDocumentPrintQueue

public:
 override void WriteAsync(System::Windows::Documents::FixedPage ^ fixedPage, System::Object ^ userSuppliedState);
public override void WriteAsync(System.Windows.Documents.FixedPage fixedPage, object userSuppliedState);
override this.WriteAsync : System.Windows.Documents.FixedPage * obj -> unit
Public Overrides Sub WriteAsync (fixedPage As FixedPage, userSuppliedState As Object)

参数

fixedPage
FixedPage

写入的页面。

userSuppliedState
Object

一个用户指定的对象,用于标识和关联异步操作。

适用于

WriteAsync(FixedPage, PrintTicket)

将指定与目标 FixedPage 一起 PrintTicketXpsDocumentPrintQueue异步写入或 。

public:
 override void WriteAsync(System::Windows::Documents::FixedPage ^ fixedPage, System::Printing::PrintTicket ^ printTicket);
public override void WriteAsync(System.Windows.Documents.FixedPage fixedPage, System.Printing.PrintTicket printTicket);
override this.WriteAsync : System.Windows.Documents.FixedPage * System.Printing.PrintTicket -> unit
Public Overrides Sub WriteAsync (fixedPage As FixedPage, printTicket As PrintTicket)

参数

fixedPage
FixedPage

写入的页面。

printTicket
PrintTicket

一个 PrintTicket 表示页面的默认打印首选项。

注解

此方法不会验证或修改为特定printTicket指定的PrintQueue值。 如有必要,请使用 MergeAndValidatePrintTicket 该方法创建 PrintTicket 特定于 PrintQueue 指定的打印机且对指定的打印机有效。

此方法存储在任务中,它返回该方法的同步对应项可以引发的所有非使用异常。 如果异常存储在返回的任务中,则等待任务时将引发该异常。 使用情况异常(例如 ArgumentException)仍会同步引发。 有关存储的异常,请参阅由 Write(FixedPage, PrintTicket)..

适用于

WriteAsync(Visual, Object)

将指定的 Visual 异步写入目标 XpsDocumentPrintQueue

public:
 override void WriteAsync(System::Windows::Media::Visual ^ visual, System::Object ^ userSuppliedState);
public override void WriteAsync(System.Windows.Media.Visual visual, object userSuppliedState);
override this.WriteAsync : System.Windows.Media.Visual * obj -> unit
Public Overrides Sub WriteAsync (visual As Visual, userSuppliedState As Object)

参数

visual
Visual

写入 Visual 的。

userSuppliedState
Object

一个用户指定的对象,用于标识和关联异步操作。

注解

若要批处理写入, Visual请使用 VisualsToXpsDocument

适用于

WriteAsync(Visual, PrintTicket)

将指定与目标 Visual 一起 PrintTicketXpsDocumentPrintQueue异步写入或 。

public:
 override void WriteAsync(System::Windows::Media::Visual ^ visual, System::Printing::PrintTicket ^ printTicket);
public override void WriteAsync(System.Windows.Media.Visual visual, System.Printing.PrintTicket printTicket);
override this.WriteAsync : System.Windows.Media.Visual * System.Printing.PrintTicket -> unit
Public Overrides Sub WriteAsync (visual As Visual, printTicket As PrintTicket)

参数

visual
Visual

写入 Visual 的。

printTicket
PrintTicket

一个 PrintTicket 表示文档的默认打印首选项。

注解

若要批处理写入, Visual请使用 VisualsToXpsDocument

此方法不会验证或修改为特定printTicket指定的PrintQueue值。 如有必要,请使用 MergeAndValidatePrintTicket 该方法创建 PrintTicket 特定于 PrintQueue 指定的打印机且对指定的打印机有效。

此方法存储在任务中,它返回该方法的同步对应项可以引发的所有非使用异常。 如果异常存储在返回的任务中,则等待任务时将引发该异常。 使用情况异常(例如 ArgumentException)仍会同步引发。 有关存储的异常,请参阅由 Write(Visual, PrintTicket)..

适用于

WriteAsync(FixedDocumentSequence, PrintTicket, Object)

将指定与目标 FixedDocumentSequence 一起 PrintTicketXpsDocumentPrintQueue异步写入或 。

public:
 override void WriteAsync(System::Windows::Documents::FixedDocumentSequence ^ fixedDocumentSequence, System::Printing::PrintTicket ^ printTicket, System::Object ^ userSuppliedState);
public override void WriteAsync(System.Windows.Documents.FixedDocumentSequence fixedDocumentSequence, System.Printing.PrintTicket printTicket, object userSuppliedState);
override this.WriteAsync : System.Windows.Documents.FixedDocumentSequence * System.Printing.PrintTicket * obj -> unit
Public Overrides Sub WriteAsync (fixedDocumentSequence As FixedDocumentSequence, printTicket As PrintTicket, userSuppliedState As Object)

参数

fixedDocumentSequence
FixedDocumentSequence

要写入的文档集。

printTicket
PrintTicket

一个 PrintTicket 表示文档集的默认打印首选项。

userSuppliedState
Object

一个用户指定的对象,用于标识和关联异步操作。

注解

WriteAsync将一组文档异步XpsDocumentPrintQueue写入创建XpsDocumentWriter的文档。 写入的数据包括调用方希望传递给事件处理程序的附加 PrintTicket 信息。

尽管该 XpsDocument 类具有单一名称, XpsDocument 但可以是一 FixedDocument 个或多个文档。 此方法将一 FixedDocument 组或一组 FixedDocument 元素添加到现有序列。

此方法不会验证或修改为特定printTicket指定的PrintQueue值。 如有必要,请使用 MergeAndValidatePrintTicket 该方法创建 PrintTicket 特定于 PrintQueue 指定的打印机且对指定的打印机有效。

适用于

WriteAsync(FixedDocument, PrintTicket, Object)

将指定与目标 FixedDocument 一起 PrintTicketXpsDocumentPrintQueue异步写入或 。

public:
 override void WriteAsync(System::Windows::Documents::FixedDocument ^ fixedDocument, System::Printing::PrintTicket ^ printTicket, System::Object ^ userSuppliedState);
public override void WriteAsync(System.Windows.Documents.FixedDocument fixedDocument, System.Printing.PrintTicket printTicket, object userSuppliedState);
override this.WriteAsync : System.Windows.Documents.FixedDocument * System.Printing.PrintTicket * obj -> unit
Public Overrides Sub WriteAsync (fixedDocument As FixedDocument, printTicket As PrintTicket, userSuppliedState As Object)

参数

fixedDocument
FixedDocument

写入的文档。

printTicket
PrintTicket

一个 PrintTicket 表示文档的默认打印首选项。

userSuppliedState
Object

一个用户指定的对象,用于标识和关联异步操作。

注解

尽管该 XpsDocument 类具有单一名称, XpsDocument 但可以是一 FixedDocument 个或多个文档。 此方法向集添加一个 FixedDocument

此方法不会验证或修改为特定printTicket指定的PrintQueue值。 如有必要,请使用 MergeAndValidatePrintTicket 该方法创建 PrintTicket 特定于 PrintQueue 指定的打印机且对指定的打印机有效。

适用于

WriteAsync(FixedPage, PrintTicket, Object)

将指定与目标 FixedPage 一起 PrintTicketXpsDocumentPrintQueue异步写入或 。

public:
 override void WriteAsync(System::Windows::Documents::FixedPage ^ fixedPage, System::Printing::PrintTicket ^ printTicket, System::Object ^ userSuppliedState);
public override void WriteAsync(System.Windows.Documents.FixedPage fixedPage, System.Printing.PrintTicket printTicket, object userSuppliedState);
override this.WriteAsync : System.Windows.Documents.FixedPage * System.Printing.PrintTicket * obj -> unit
Public Overrides Sub WriteAsync (fixedPage As FixedPage, printTicket As PrintTicket, userSuppliedState As Object)

参数

fixedPage
FixedPage

写入的页面。

printTicket
PrintTicket

一个 PrintTicket 表示页面的默认打印首选项。

userSuppliedState
Object

一个用户指定的对象,用于标识和关联异步操作。

注解

此方法不会验证或修改为特定printTicket指定的PrintQueue值。 如有必要,请使用 MergeAndValidatePrintTicket 该方法创建 PrintTicket 特定于 PrintQueue 指定的打印机且对指定的打印机有效。

适用于

WriteAsync(Visual, PrintTicket, Object)

将指定与目标 Visual 一起 PrintTicketXpsDocumentPrintQueue异步写入或 。

public:
 override void WriteAsync(System::Windows::Media::Visual ^ visual, System::Printing::PrintTicket ^ printTicket, System::Object ^ userSuppliedState);
public override void WriteAsync(System.Windows.Media.Visual visual, System.Printing.PrintTicket printTicket, object userSuppliedState);
override this.WriteAsync : System.Windows.Media.Visual * System.Printing.PrintTicket * obj -> unit
Public Overrides Sub WriteAsync (visual As Visual, printTicket As PrintTicket, userSuppliedState As Object)

参数

visual
Visual

写入 Visual 的。

printTicket
PrintTicket

一个 PrintTicket 表示文档的默认打印首选项。

userSuppliedState
Object

一个用户指定的对象,用于标识和关联异步操作。

注解

若要编写多个 Visual 元素,请使用 VisualsToXpsDocument

此方法不会验证或修改为特定printTicket指定的PrintQueue值。 如有必要,请使用 MergeAndValidatePrintTicket 该方法创建 PrintTicket 特定于 PrintQueue 指定的打印机且对指定的打印机有效。

适用于

WriteAsync(FixedDocumentSequence, PrintTicket)

将指定与目标 FixedDocumentSequence 一起 PrintTicketXpsDocumentPrintQueue异步写入或 。

public:
 override void WriteAsync(System::Windows::Documents::FixedDocumentSequence ^ fixedDocumentSequence, System::Printing::PrintTicket ^ printTicket);
public override void WriteAsync(System.Windows.Documents.FixedDocumentSequence fixedDocumentSequence, System.Printing.PrintTicket printTicket);
override this.WriteAsync : System.Windows.Documents.FixedDocumentSequence * System.Printing.PrintTicket -> unit
Public Overrides Sub WriteAsync (fixedDocumentSequence As FixedDocumentSequence, printTicket As PrintTicket)

参数

fixedDocumentSequence
FixedDocumentSequence

写入的文档集。

printTicket
PrintTicket

一个 PrintTicket 表示文档集的默认打印首选项。

注解

尽管该 XpsDocument 类具有单一名称, XpsDocument 但可以是一 FixedDocument 个或多个文档。 此方法将一 FixedDocument 组或一组 FixedDocument 元素添加到现有集。

此方法不会验证或修改为特定printTicket指定的PrintQueue值。 如有必要,请使用 MergeAndValidatePrintTicket 该方法创建 PrintTicket 特定于 PrintQueue 指定的打印机且对指定的打印机有效。

此方法存储在任务中,它返回该方法的同步对应项可以引发的所有非使用异常。 如果异常存储在返回的任务中,则等待任务时将引发该异常。 使用情况异常(例如 ArgumentException)仍会同步引发。 有关存储的异常,请参阅由 Write(FixedDocumentSequence, PrintTicket)..

适用于

WriteAsync(DocumentPaginator, PrintTicket, Object)

将指定内容与DocumentPaginator目标PrintTicket一起异步分页的内容写入到目标XpsDocumentPrintQueue

public:
 override void WriteAsync(System::Windows::Documents::DocumentPaginator ^ documentPaginator, System::Printing::PrintTicket ^ printTicket, System::Object ^ userSuppliedState);
public override void WriteAsync(System.Windows.Documents.DocumentPaginator documentPaginator, System.Printing.PrintTicket printTicket, object userSuppliedState);
override this.WriteAsync : System.Windows.Documents.DocumentPaginator * System.Printing.PrintTicket * obj -> unit
Public Overrides Sub WriteAsync (documentPaginator As DocumentPaginator, printTicket As PrintTicket, userSuppliedState As Object)

参数

documentPaginator
DocumentPaginator

包含指向未分页源材料的指针的对象;还包含分页材料的方法。

printTicket
PrintTicket

一个 PrintTicket 表示材料的默认打印首选项。

userSuppliedState
Object

一个用户指定的对象,用于标识和关联异步操作。

注解

此方法不会验证或修改为特定printTicket指定的PrintQueue值。 如有必要,请使用 MergeAndValidatePrintTicket 该方法创建 PrintTicket 特定于 PrintQueue 指定的打印机且对指定的打印机有效。

适用于

WriteAsync(FixedDocumentSequence, Object)

将指定的 FixedDocumentSequence 异步写入目标 XpsDocumentPrintQueue

public:
 override void WriteAsync(System::Windows::Documents::FixedDocumentSequence ^ fixedDocumentSequence, System::Object ^ userSuppliedState);
public override void WriteAsync(System.Windows.Documents.FixedDocumentSequence fixedDocumentSequence, object userSuppliedState);
override this.WriteAsync : System.Windows.Documents.FixedDocumentSequence * obj -> unit
Public Overrides Sub WriteAsync (fixedDocumentSequence As FixedDocumentSequence, userSuppliedState As Object)

参数

fixedDocumentSequence
FixedDocumentSequence

写入的文档集。

userSuppliedState
Object

一个用户指定的对象,用于标识和关联异步操作。

注解

尽管该 XpsDocument 类具有单一名称, XpsDocument 但可以是一 FixedDocument 个或多个文档。 此方法将一 FixedDocument 组或一组 FixedDocument 元素添加到现有集。

适用于

WriteAsync(FixedDocumentSequence)

将指定的 FixedDocumentSequence 异步写入目标 XpsDocumentPrintQueue

public:
 override void WriteAsync(System::Windows::Documents::FixedDocumentSequence ^ fixedDocumentSequence);
public override void WriteAsync(System.Windows.Documents.FixedDocumentSequence fixedDocumentSequence);
override this.WriteAsync : System.Windows.Documents.FixedDocumentSequence -> unit
Public Overrides Sub WriteAsync (fixedDocumentSequence As FixedDocumentSequence)

参数

fixedDocumentSequence
FixedDocumentSequence

写入的文档集。

示例

以下示例演示如何使用此方法写入 XPS 文档。

private void SaveMultipleFixedContentDocumentsAsync(
             XpsDocumentWriter xpsdw, FixedDocumentSequence fds)
{
    _xpsdwActive = xpsdw;

    xpsdw.WritingCompleted +=
        new WritingCompletedEventHandler(AsyncSaveCompleted);

    xpsdw.WritingProgressChanged +=
        new WritingProgressChangedEventHandler(AsyncSavingProgress);

    // Write the FixedDocumentSequence as a
    // collection of documents asynchronously.
    xpsdw.WriteAsync(fds);
}
Private Sub SaveMultipleFixedContentDocumentsAsync(ByVal xpsdw As XpsDocumentWriter, ByVal fds As FixedDocumentSequence)
    _xpsdwActive = xpsdw

    AddHandler xpsdw.WritingCompleted, AddressOf AsyncSaveCompleted

    AddHandler xpsdw.WritingProgressChanged, AddressOf AsyncSavingProgress

    ' Write the FixedDocumentSequence as a
    ' collection of documents asynchronously.
    xpsdw.WriteAsync(fds)
End Sub

注解

尽管该 XpsDocument 类具有单一名称, XpsDocument 但可以是一 FixedDocument 个或多个文档。 此方法将一 FixedDocument 组或一组 FixedDocument 元素添加到现有集。

此方法存储在任务中,它返回该方法的同步对应项可以引发的所有非使用异常。 如果异常存储在返回的任务中,则等待任务时将引发该异常。 使用情况异常(例如 ArgumentException)仍会同步引发。 有关存储的异常,请参阅由 Write(FixedDocumentSequence)..

适用于

WriteAsync(FixedDocument, Object)

将指定的 FixedDocument 异步写入目标 XpsDocumentPrintQueue

public:
 override void WriteAsync(System::Windows::Documents::FixedDocument ^ fixedDocument, System::Object ^ userSuppliedState);
public override void WriteAsync(System.Windows.Documents.FixedDocument fixedDocument, object userSuppliedState);
override this.WriteAsync : System.Windows.Documents.FixedDocument * obj -> unit
Public Overrides Sub WriteAsync (fixedDocument As FixedDocument, userSuppliedState As Object)

参数

fixedDocument
FixedDocument

写入的文档。

userSuppliedState
Object

一个用户指定的对象,用于标识和关联异步操作。

注解

尽管该 XpsDocument 类具有单一名称, XpsDocument 但可以是一 FixedDocument 个或多个文档。 此方法向集添加一个 FixedDocument

适用于

WriteAsync(DocumentPaginator, PrintTicket)

将指定内容与DocumentPaginator目标PrintTicket一起异步分页的内容写入到目标XpsDocumentPrintQueue

public:
 override void WriteAsync(System::Windows::Documents::DocumentPaginator ^ documentPaginator, System::Printing::PrintTicket ^ printTicket);
public override void WriteAsync(System.Windows.Documents.DocumentPaginator documentPaginator, System.Printing.PrintTicket printTicket);
override this.WriteAsync : System.Windows.Documents.DocumentPaginator * System.Printing.PrintTicket -> unit
Public Overrides Sub WriteAsync (documentPaginator As DocumentPaginator, printTicket As PrintTicket)

参数

documentPaginator
DocumentPaginator

一个对象,该对象包含指向未分页源材料的指针,还包含分页材料的方法。

printTicket
PrintTicket

一个 PrintTicket 表示材料的默认打印首选项。

注解

此方法不会验证或修改为特定printTicket指定的PrintQueue值。 如有必要,请使用 MergeAndValidatePrintTicket 该方法创建 PrintTicket 特定于 PrintQueue 指定的打印机且对指定的打印机有效。

此方法存储在任务中,它返回该方法的同步对应项可以引发的所有非使用异常。 如果异常存储在返回的任务中,则等待任务时将引发该异常。 使用情况异常(例如 ArgumentException)仍会同步引发。 有关存储的异常,请参阅由 Write(DocumentPaginator, PrintTicket)..

适用于

WriteAsync(DocumentPaginator, Object)

将指定 DocumentPaginator 内容中的异步分页内容写入目标 XpsDocumentPrintQueue

public:
 override void WriteAsync(System::Windows::Documents::DocumentPaginator ^ documentPaginator, System::Object ^ userSuppliedState);
public override void WriteAsync(System.Windows.Documents.DocumentPaginator documentPaginator, object userSuppliedState);
override this.WriteAsync : System.Windows.Documents.DocumentPaginator * obj -> unit
Public Overrides Sub WriteAsync (documentPaginator As DocumentPaginator, userSuppliedState As Object)

参数

documentPaginator
DocumentPaginator

包含指向未分页源材料的指针的对象;还包含分页材料的方法。

userSuppliedState
Object

一个用户指定的对象,用于标识和关联异步操作。

适用于

WriteAsync(String, XpsDocumentNotificationLevel)

使用通知选项将指定 XPS 文档异步写入目标 XpsDocumentPrintQueue

public:
 void WriteAsync(System::String ^ documentPath, System::Windows::Xps::XpsDocumentNotificationLevel notificationLevel);
public void WriteAsync(string documentPath, System.Windows.Xps.XpsDocumentNotificationLevel notificationLevel);
override this.WriteAsync : string * System.Windows.Xps.XpsDocumentNotificationLevel -> unit
Public Sub WriteAsync (documentPath As String, notificationLevel As XpsDocumentNotificationLevel)

参数

documentPath
String

源文档的路径。

notificationLevel
XpsDocumentNotificationLevel

指示是否启用通知。

注解

禁用时notificationLevel,会将XpsDocumentWriter序列化的 XPS 文档复制到目标或XpsDocument创建PrintQueue的目标XpsDocumentWriter。 启用后 notificationLevel ,第 XpsDocumentWriter 一个反序列化文档,接下来重新序列化该文档,然后在输出每个页面时使用进度通知将其写入目标。

尽管该 XpsDocument 类具有单一名称, XpsDocument 但可以是一 FixedDocument 个或多个文档。 此方法将FixedDocument源中的元素添加到目标FixedDocumentXpsDocument或元素序列PrintQueue中。

如果 notificationLevel 指定为 ReceiveNotificationEnabled,则仅在序列化文档时生成通知,而不是打印。 若要接收通知,必须重新序列化文档。 重新序列化文档时,将删除 Package不需要保留的文档中的所有内容。 重新序列化还会从 FixedPage 标记中删除所有扩展,包括任何扩展的 XPS 内容。

如果 notificationLevel 指定为 ReceiveNotificationDisabled 文档不会重新序列化,并且任何扩展内容都将保留,即使打印也是如此。

按照设计,此方法 WriteAsync 不调用事件 WritingPrintTicketRequired

此方法存储在任务中,它返回该方法的同步对应项可以引发的所有非使用异常。 如果异常存储在返回的任务中,则等待任务时将引发该异常。 使用情况异常(例如 ArgumentException)仍会同步引发。 有关存储的异常,请参阅由 Write(String, XpsDocumentNotificationLevel)..

适用于

WriteAsync(Visual)

将指定的 Visual 异步写入目标 XpsDocumentPrintQueue

public:
 override void WriteAsync(System::Windows::Media::Visual ^ visual);
public override void WriteAsync(System.Windows.Media.Visual visual);
override this.WriteAsync : System.Windows.Media.Visual -> unit
Public Overrides Sub WriteAsync (visual As Visual)

参数

visual
Visual

写入 Visual 的。

示例

以下示例演示如何使用此方法向 XPS 文档写入 Visual 内容。

private void SaveVisualAsync(XpsDocumentWriter xpsdw, Visual v)
{
    _xpsdwActive = xpsdw;

    xpsdw.WritingCompleted +=
        new WritingCompletedEventHandler(AsyncSaveCompleted);

    xpsdw.WriteAsync(v);    // Write visual to single page.
}
Private Sub SaveVisualAsync(ByVal xpsdw As XpsDocumentWriter, ByVal v As Visual)
    _xpsdwActive = xpsdw

    AddHandler xpsdw.WritingCompleted, AddressOf AsyncSaveCompleted

    xpsdw.WriteAsync(v) ' Write visual to single page.
End Sub

注解

若要批处理写入, Visual请使用 VisualsToXpsDocument

此方法存储在任务中,它返回该方法的同步对应项可以引发的所有非使用异常。 如果异常存储在返回的任务中,则等待任务时将引发该异常。 使用情况异常(例如 ArgumentException)仍会同步引发。 有关存储的异常,请参阅由 Write(Visual)..

适用于

WriteAsync(FixedPage)

将指定的 FixedPage 异步写入目标 XpsDocumentPrintQueue

public:
 override void WriteAsync(System::Windows::Documents::FixedPage ^ fixedPage);
public override void WriteAsync(System.Windows.Documents.FixedPage fixedPage);
override this.WriteAsync : System.Windows.Documents.FixedPage -> unit
Public Overrides Sub WriteAsync (fixedPage As FixedPage)

参数

fixedPage
FixedPage

写入的页面。

注解

此方法存储在任务中,它返回该方法的同步对应项可以引发的所有非使用异常。 如果异常存储在返回的任务中,则等待任务时将引发该异常。 使用情况异常(例如 ArgumentException)仍会同步引发。 有关存储的异常,请参阅由 Write(FixedPage)..

适用于

WriteAsync(FixedDocument)

将指定的 FixedDocument 异步写入目标 XpsDocumentPrintQueue

public:
 override void WriteAsync(System::Windows::Documents::FixedDocument ^ fixedDocument);
public override void WriteAsync(System.Windows.Documents.FixedDocument fixedDocument);
override this.WriteAsync : System.Windows.Documents.FixedDocument -> unit
Public Overrides Sub WriteAsync (fixedDocument As FixedDocument)

参数

fixedDocument
FixedDocument

写入的文档。

示例

以下示例演示如何使用此方法写入 XPS 文档。

private void SaveSingleFixedContentDocumentAsync(
             XpsDocumentWriter xpsdw, FixedDocument fd)
{
    _xpsdwActive = xpsdw;

    xpsdw.WritingCompleted +=
        new WritingCompletedEventHandler(AsyncSaveCompleted);

    // Write the FixedDocument as a document.
    xpsdw.WriteAsync(fd);
}
Private Sub SaveSingleFixedContentDocumentAsync(ByVal xpsdw As XpsDocumentWriter, ByVal fd As FixedDocument)
    _xpsdwActive = xpsdw

    AddHandler xpsdw.WritingCompleted, AddressOf AsyncSaveCompleted

    ' Write the FixedDocument as a document.
    xpsdw.WriteAsync(fd)
End Sub

注解

尽管该 XpsDocument 类具有单一名称, XpsDocument 但可以是一 FixedDocument 个或多个文档。 此方法向集添加一个 FixedDocument

此方法存储在任务中,它返回该方法的同步对应项可以引发的所有非使用异常。 如果异常存储在返回的任务中,则等待任务时将引发该异常。 使用情况异常(例如 ArgumentException)仍会同步引发。 有关存储的异常,请参阅由 Write(FixedDocument)..

适用于

WriteAsync(DocumentPaginator)

将指定 DocumentPaginator 内容中的异步分页内容写入目标 XpsDocumentPrintQueue

public:
 override void WriteAsync(System::Windows::Documents::DocumentPaginator ^ documentPaginator);
public override void WriteAsync(System.Windows.Documents.DocumentPaginator documentPaginator);
override this.WriteAsync : System.Windows.Documents.DocumentPaginator -> unit
Public Overrides Sub WriteAsync (documentPaginator As DocumentPaginator)

参数

documentPaginator
DocumentPaginator

一个对象,该对象包含指向未分页源材料的指针,还包含分页材料的方法。

示例

以下示例演示如何使用此方法写入 XPS 文档。

private void SaveSingleFlowContentDocumentAsync(
             XpsDocumentWriter xpsdw, DocumentPaginator idp)
{
    _xpsdwActive = xpsdw;

    xpsdw.WritingCompleted +=
        new WritingCompletedEventHandler(AsyncSaveCompleted);

    // Write the IDP as a document.
    xpsdw.WriteAsync(idp);
}
Private Sub SaveSingleFlowContentDocumentAsync(ByVal xpsdw As XpsDocumentWriter, ByVal idp As DocumentPaginator)
    _xpsdwActive = xpsdw

    AddHandler xpsdw.WritingCompleted, AddressOf AsyncSaveCompleted

    ' Write the IDP as a document.
    xpsdw.WriteAsync(idp)
End Sub

注解

此方法存储在任务中,它返回该方法的同步对应项可以引发的所有非使用异常。 如果异常存储在返回的任务中,则等待任务时将引发该异常。 使用情况异常(例如 ArgumentException)仍会同步引发。 有关存储的异常,请参阅由 Write(DocumentPaginator)..

适用于

WriteAsync(String)

将指定的 XPS 文档异步写入目标 XpsDocumentPrintQueue

public:
 void WriteAsync(System::String ^ documentPath);
public void WriteAsync(string documentPath);
override this.WriteAsync : string -> unit
Public Sub WriteAsync (documentPath As String)

参数

documentPath
String

源文档的路径。

注解

尽管该 XpsDocument 类具有单一名称, XpsDocument 但可以是一 FixedDocument 个或多个文档。 此方法将FixedDocument源中的元素添加到FixedDocument目标XpsDocumentPrintQueue或 .

此方法 WriteAsync 重新序列化指定的 XPS 文档,该文档从 PackageXML 纸张规范不需要保留的所有内容中删除。 重新序列化还会从 FixedPage 标记中删除所有扩展,包括任何扩展的 XPS 内容。

按照设计,此方法 WriteAsync 不调用事件 WritingPrintTicketRequired

此方法存储在任务中,它返回该方法的同步对应项可以引发的所有非使用异常。 如果异常存储在返回的任务中,则等待任务时将引发该异常。 使用情况异常(例如 ArgumentException)仍会同步引发。 有关存储的异常,请参阅由 Write(String)..

适用于

WriteAsync(FixedDocument, PrintTicket)

将指定与目标 FixedDocument 一起 PrintTicketXpsDocumentPrintQueue异步写入或 。

public:
 override void WriteAsync(System::Windows::Documents::FixedDocument ^ fixedDocument, System::Printing::PrintTicket ^ printTicket);
public override void WriteAsync(System.Windows.Documents.FixedDocument fixedDocument, System.Printing.PrintTicket printTicket);
override this.WriteAsync : System.Windows.Documents.FixedDocument * System.Printing.PrintTicket -> unit
Public Overrides Sub WriteAsync (fixedDocument As FixedDocument, printTicket As PrintTicket)

参数

fixedDocument
FixedDocument

写入的文档。

printTicket
PrintTicket

一个 PrintTicket 表示文档的默认打印首选项。

注解

尽管该 XpsDocument 类具有单一名称, XpsDocument 但可以是一 FixedDocument 个或多个文档。 此方法向集添加一个 FixedDocument

此方法不会验证或修改为特定printTicket指定的PrintQueue值。 如有必要,请使用 MergeAndValidatePrintTicket 该方法创建 PrintTicket 特定于 PrintQueue 指定的打印机且对指定的打印机有效。

此方法存储在任务中,它返回该方法的同步对应项可以引发的所有非使用异常。 如果异常存储在返回的任务中,则等待任务时将引发该异常。 使用情况异常(例如 ArgumentException)仍会同步引发。 有关存储的异常,请参阅由 Write(FixedDocument, PrintTicket)..

适用于