XpsDocumentWriter.WriteAsync 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
以非同步方式寫入 XpsDocument 或建立 XpsDocumentWriter 的 PrintQueue。
多載
WriteAsync(FixedPage, Object)
以非同步方式將指定的 FixedPage 寫入目標 XpsDocument 或 PrintQueue。
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 一起寫入目標 XpsDocument 或 PrintQueue。
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 寫入目標 XpsDocument 或 PrintQueue。
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)
參數
- userSuppliedState
- Object
識別非同步作業以及與其相關聯的使用者指定物件。
備註
若要批次寫入 Visual ,請使用 VisualsToXpsDocument 。
適用於
WriteAsync(Visual, PrintTicket)
以非同步方式將指定的 Visual 連同 PrintTicket 一起寫入目標 XpsDocument 或 PrintQueue。
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)
參數
- printTicket
- PrintTicket
PrintTicket,代表文件的預設列印喜好設定。
備註
若要批次寫入 Visual ,請使用 VisualsToXpsDocument 。
這個方法不會驗證或修改 printTicket
為特定 PrintQueue 指定的 。 如有必要,請使用 MergeAndValidatePrintTicket 方法來建立 PrintTicket 專屬的 PrintQueue ,而且對指定的印表機有效。
這個方法會儲存在工作中,它會傳回方法同步對應專案可以擲回的所有非使用例外狀況。 如果例外狀況儲存在傳回的工作中,則會在等候工作時擲回該例外狀況。 使用例外狀況,例如 ArgumentException 仍會同步擲回。 如需預存例外狀況,請參閱 擲回的 Write(Visual, PrintTicket) 例外狀況。
適用於
WriteAsync(FixedDocumentSequence, PrintTicket, Object)
以非同步方式將指定的 FixedDocumentSequence 連同 PrintTicket 一起寫入目標 XpsDocument 或 PrintQueue。
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 一起寫入目標 XpsDocument 或 PrintQueue。
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 一起寫入目標 XpsDocument 或 PrintQueue。
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 一起寫入目標 XpsDocument 或 PrintQueue。
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)
參數
- printTicket
- PrintTicket
PrintTicket,代表文件的預設列印喜好設定。
- userSuppliedState
- Object
識別非同步作業以及與其相關聯的使用者指定物件。
備註
若要撰寫多個 Visual 元素,請使用 VisualsToXpsDocument 。
這個方法不會驗證或修改 printTicket
為特定 PrintQueue 指定的 。 如有必要,請使用 MergeAndValidatePrintTicket 方法來建立 PrintTicket 專屬的 PrintQueue ,而且對指定的印表機有效。
適用於
WriteAsync(FixedDocumentSequence, PrintTicket)
以非同步方式將指定的 FixedDocumentSequence 連同 PrintTicket 一起寫入目標 XpsDocument 或 PrintQueue。
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 一起寫入目標 XpsDocument 或 PrintQueue。
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 寫入目標 XpsDocument 或 PrintQueue。
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 寫入目標 XpsDocument 或 PrintQueue。
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 寫入目標 XpsDocument 或 PrintQueue。
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 一起寫入目標 XpsDocument 或 PrintQueue。
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,將分頁內容以非同步方式寫入目標 XpsDocument 或 PrintQueue。
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 檔寫入目標 XpsDocument 或 PrintQueue 。
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 來源中的專案新增至目標 XpsDocument 或 PrintQueue 中的專案序列 FixedDocument 。
如果 notificationLevel
指定為 ReceiveNotificationEnabled ,則只有在序列化檔時才會產生通知,而不會列印。 若要接收通知,必須重新序列化檔。 重新序列化檔時,會移除XML 檔規格不需要保留之 的所有內容 Package 。 重新序列化也會移除 FixedPage 標記中的所有延伸,包括任何擴充的 XPS 內容。
如果 notificationLevel
指定為 ReceiveNotificationDisabled 檔,則不會重新序列化,而且會保留任何延伸內容,即使列印也一樣。
根據設計,這個 WriteAsync 方法不會呼叫 WritingPrintTicketRequired 事件。
這個方法會儲存在工作中,它會傳回方法同步對應專案可以擲回的所有非使用例外狀況。 如果例外狀況儲存在傳回的工作中,則會在等候工作時擲回該例外狀況。 使用例外狀況,例如 ArgumentException 仍會同步擲回。 如需預存例外狀況,請參閱 擲回的 Write(String, XpsDocumentNotificationLevel) 例外狀況。
適用於
WriteAsync(Visual)
以非同步方式將指定的 Visual 寫入目標 XpsDocument 或 PrintQueue。
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 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 寫入目標 XpsDocument 或 PrintQueue。
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 寫入目標 XpsDocument 或 PrintQueue。
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,將分頁內容以非同步方式寫入目標 XpsDocument 或 PrintQueue。
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 檔寫入目標 XpsDocument 或 PrintQueue 。
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 中的專案 XpsDocument 集 FixedDocument 。
這個 WriteAsync 方法會重新序列化指定的 XPS 檔,這會從 PackageXML 紙張規格不需要保留的 中移除所有內容。 重新序列化也會移除 FixedPage 標記中的所有延伸,包括任何擴充的 XPS 內容。
根據設計,此方法 WriteAsync 不會呼叫 WritingPrintTicketRequired 事件。
這個方法會儲存在工作中,它會傳回方法同步對應專案可以擲回的所有非使用狀況例外狀況。 如果例外狀況儲存在傳回的工作中,則會在等候工作時擲回該例外狀況。 使用狀況例外狀況,例如 ArgumentException ,仍會同步擲回。 如需預存的例外狀況,請參閱 所 Write(String) 擲回的例外狀況。
適用於
WriteAsync(FixedDocument, PrintTicket)
以非同步方式將指定的 FixedDocument 連同 PrintTicket 一起寫入目標 XpsDocument 或 PrintQueue。
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 方法來建立 專屬的 PrintQueue , PrintTicket 並且對指定的印表機有效。
這個方法會儲存在工作中,它會傳回方法同步對應專案可以擲回的所有非使用狀況例外狀況。 如果例外狀況儲存在傳回的工作中,則會在等候工作時擲回該例外狀況。 使用狀況例外狀況,例如 ArgumentException ,仍會同步擲回。 如需預存的例外狀況,請參閱 所 Write(FixedDocument, PrintTicket) 擲回的例外狀況。