Share via


XpsDocumentWriter.WriteAsync 方法

定義

以非同步方式寫入 XpsDocument 或建立 XpsDocumentWriterPrintQueue

多載

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)

以非同步方式,從指定的 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 連同 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,表示頁面的預設列印喜好設定。

備註

這個方法不會驗證或修改 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 連同 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

這個方法不會驗證或修改 printTicket 為特定 PrintQueue 指定的 。 如有必要,請使用 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 將一組檔寫入或 PrintQueue 建立 的 XpsDocumentWriter 。 寫入的資料包含 PrintTicket 呼叫端想要傳遞至事件處理常式的 和其他資訊。

雖然 類別 XpsDocument 具有單一名稱, XpsDocument 但 可以是一 FixedDocument 或一組多份檔。 這個方法會將 或 一組 FixedDocument 專案加入 FixedDocument 至現有的序列。

這個方法不會驗證或修改 printTicket 為特定 PrintQueue 指定的 。 如有必要,請使用 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 至集合。

這個方法不會驗證或修改 printTicket 為特定 PrintQueue 指定的 。 如有必要,請使用 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

識別非同步作業以及與其相關聯的使用者指定物件。

備註

這個方法不會驗證或修改 printTicket 為特定 PrintQueue 指定的 。 如有必要,請使用 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

這個方法不會驗證或修改 printTicket 為特定 PrintQueue 指定的 。 如有必要,請使用 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 至現有的集合。

這個方法不會驗證或修改 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 檔案複製到目標 XpsDocumentPrintQueue 建立 的目標 XpsDocumentWriter 。 啟用 時 notificationLevel ,第 XpsDocumentWriter 一次將檔案還原序列化,接著重新序列化檔,然後在每個頁面輸出時,以進度通知將其寫入目標。

雖然 類別 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 來源中的專案新增至目標或 PrintQueue 中的專案 XpsDocumentFixedDocument

這個 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 方法來建立 專屬的 PrintQueuePrintTicket 並且對指定的印表機有效。

這個方法會儲存在工作中,它會傳回方法同步對應專案可以擲回的所有非使用狀況例外狀況。 如果例外狀況儲存在傳回的工作中,則會在等候工作時擲回該例外狀況。 使用狀況例外狀況,例如 ArgumentException ,仍會同步擲回。 如需預存的例外狀況,請參閱 所 Write(FixedDocument, PrintTicket) 擲回的例外狀況。

適用於