IXpsOMPackageWriter::AddPage 方法 (xpsobjectmodel.h)
將新的 FixedPage 元件寫入套件中目前開啟的 FixedDocument 元件。
語法
HRESULT AddPage(
[in] IXpsOMPage *page,
[in] const XPS_SIZE *advisoryPageDimensions,
[in] IXpsOMPartUriCollection *discardableResourceParts,
[in] IXpsOMStoryFragmentsResource *storyFragments,
[in] IXpsOMPrintTicketResource *pagePrintTicket,
[in] IXpsOMImageResource *pageThumbnail
);
參數
[in] page
IXpsOMPage 介面,其頁面內容要寫入套件目前開啟的 FixedDocument。
[in] advisoryPageDimensions
包含頁面維度 的 XPS_SIZE 結構。
大小是以 XPS 單位描述。 每英吋有96個 XPS 單位。 例如,8.5 吋 x 11.0 英吋頁面的維度為 816 x 1,056 XPS 單位。
[in] discardableResourceParts
IXpsOMPartUriCollection 介面,其中包含可捨棄資源元件的集合。
[in] storyFragments
要用於此頁面的 IXpsOMStoryFragmentsResource 介面。
[in] pagePrintTicket
IXpsOMPrintTicketResource 介面,其中包含此頁面的頁面層級列印票證。 請參閱<備註>。
[in] pageThumbnail
包含此頁面縮圖影像的 IXpsOMImageResource 介面。
傳回值
方法會傳回 HRESULT。 可能的值包括下列數據表中的值,但不限於這些值。 如需此表格中未列出的 XPS 檔 API 傳回值的相關信息,請參閱 XPS 檔錯誤。
傳回碼 | 描述 |
---|---|
|
此方法已成功。 |
|
頁面是指可捨棄的資源,但未指定 DiscardControl 元件名稱。 |
|
這個方法是在 StartNewDocument 之前呼叫。 |
|
發生嚴重錯誤,且 XPS OM 的內容可能無法復原。 XPS OM 的某些元件可能仍可使用,但只有在驗證它們之後才能使用。 由於傳回此錯誤之後無法預測 XPS OM 的狀態,因此應該釋放並捨棄 XPS OM 的所有元件。 |
這個方法會呼叫 封裝 API。 如需封裝 API 傳回值的相關信息,請參閱 封裝錯誤。
備註
呼叫 StartNewDocument 之後呼叫這個方法。
這個方法會在封裝中建立新的 FixedPage 元件、複製在 page 參數中傳遞的 IXpsOMPage 介面內容,然後在頁面寫入封裝之後關閉新的 FixedPage 元件。
如果 pagePrintTicket 包含 NULL 指標,且封裝寫入器已建立,且交錯設定為 XPS_INTERLEAVING_ON,則此方法會建立空白的頁面層級列印票證,如果尚未存在。 每次使用 pagePrintTicket 中的 NULL 指標呼叫方法時,都會從新頁面將關聯性新增至空白列印票證。 這是為了提供更有效率的串流耗用量來完成封裝。
如果 pagePrintTicket 包含 NULL 指標,且封裝寫入器已建立,且交錯設定為 XPS_INTERLEAVING_OFF,則不會建立空白的列印票證。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | 適用於 Windows Vista 的 Windows 7、Windows Vista SP2 和平臺更新 [傳統型應用程式 |UWP 應用程式] |
最低支援的伺服器 | Windows Server 2008 R2、Windows Server 2008 SP2 和 Platform Update for Windows Server 2008 [傳統型應用程式 |UWP 應用程式] |
目標平台 | Windows |
標頭 | xpsobjectmodel.h |