XpsDocumentWriter.WriteAsync 方法

定义

异步写入到创建 XpsDocumentWriterXpsDocumentPrintQueue

重载

WriteAsync(FixedPage, Object)

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

WriteAsync(FixedPage, PrintTicket)

将指定的 FixedPage 连同 PrintTicket 一起异步写入目标 XpsDocumentPrintQueue

WriteAsync(Visual, Object)

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

WriteAsync(Visual, PrintTicket)

将指定的 Visual 连同 PrintTicket 一起异步写入目标 XpsDocumentPrintQueue

WriteAsync(FixedDocumentSequence, PrintTicket, Object)

将指定的 FixedDocumentSequence 连同 PrintTicket 一起异步写入目标 XpsDocumentPrintQueue

WriteAsync(FixedDocument, PrintTicket, Object)

将指定的 FixedDocument 连同 PrintTicket 一起异步写入目标 XpsDocumentPrintQueue

WriteAsync(FixedPage, PrintTicket, Object)

将指定的 FixedPage 连同 PrintTicket 一起异步写入目标 XpsDocumentPrintQueue

WriteAsync(Visual, PrintTicket, Object)

将指定的 Visual 连同 PrintTicket 一起异步写入目标 XpsDocumentPrintQueue

WriteAsync(FixedDocumentSequence, PrintTicket)

将指定的 FixedDocumentSequence 连同 PrintTicket 一起异步写入目标 XpsDocumentPrintQueue

WriteAsync(DocumentPaginator, PrintTicket, Object)

将分页内容从指定的 DocumentPaginatorPrintTicket 异步写入目标 XpsDocumentPrintQueue

WriteAsync(FixedDocumentSequence, Object)

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

WriteAsync(FixedDocumentSequence)

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

WriteAsync(FixedDocument, Object)

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

WriteAsync(DocumentPaginator, PrintTicket)

将分页内容从指定的 DocumentPaginatorPrintTicket 异步写入目标 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 连同 PrintTicket 一起异步写入目标 XpsDocumentPrintQueue

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 连同 PrintTicket 一起异步写入目标 XpsDocumentPrintQueue

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,它表示页的默认打印首选项。

注解

此方法不验证或修改为特定 PrintQueue指定的 printTicket 。 如有必要,请使用 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 连同 PrintTicket 一起异步写入目标 XpsDocumentPrintQueue

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

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

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

适用于

WriteAsync(FixedDocumentSequence, PrintTicket, Object)

将指定的 FixedDocumentSequence 连同 PrintTicket 一起异步写入目标 XpsDocumentPrintQueue

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以异步方式将一组文档写入XpsDocument创建 的 XpsDocumentWriterPrintQueue 。 写入的数据包括 PrintTicket 调用方要传递给事件处理程序的 和 附加信息。

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

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

适用于

WriteAsync(FixedDocument, PrintTicket, Object)

将指定的 FixedDocument 连同 PrintTicket 一起异步写入目标 XpsDocumentPrintQueue

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 集。

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

适用于

WriteAsync(FixedPage, PrintTicket, Object)

将指定的 FixedPage 连同 PrintTicket 一起异步写入目标 XpsDocumentPrintQueue

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

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

注解

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

适用于

WriteAsync(Visual, PrintTicket, Object)

将指定的 Visual 连同 PrintTicket 一起异步写入目标 XpsDocumentPrintQueue

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

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

适用于

WriteAsync(FixedDocumentSequence, PrintTicket)

将指定的 FixedDocumentSequence 连同 PrintTicket 一起异步写入目标 XpsDocumentPrintQueue

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 元素添加到现有集。

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

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

适用于

WriteAsync(DocumentPaginator, PrintTicket, Object)

将分页内容从指定的 DocumentPaginatorPrintTicket 异步写入目标 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

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

注解

此方法不验证或修改为特定 PrintQueue指定的 printTicket 。 如有必要,请使用 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)

将分页内容从指定的 DocumentPaginatorPrintTicket 异步写入目标 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

注解

此方法不验证或修改为特定 PrintQueue指定的 printTicket 。 如有必要,请使用 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 文档复制到目标 XpsDocumentPrintQueue 创建 的目标 XpsDocumentWriter。 启用 后 notificationLevelXpsDocumentWriter 第一个将文档反序列化,然后重新序列化文档,然后在输出每页时使用进度通知将其写入目标。

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

如果 notificationLevel 指定为 ReceiveNotificationEnabled,则仅在序列化文档时生成通知,而不是打印。 若要接收通知,必须重新序列化文档。 重新序列化文档时,将删除 XML 纸张规范中不需要保留的所有内容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

示例

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

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元素添加到目标XpsDocumentPrintQueue中的元素集FixedDocument

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

根据设计,此方法 WriteAsync 不调用 WritingPrintTicketRequired 事件。

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

适用于

WriteAsync(FixedDocument, PrintTicket)

将指定的 FixedDocument 连同 PrintTicket 一起异步写入目标 XpsDocumentPrintQueue

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 集中。

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

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

适用于