IXpsOMObjectFactory::CreatePackageFromFile 方法 (xpsobjectmodel.h)
開啟 XPS 套件檔案,並傳回具現化的 XPS 檔物件樹狀結構。
語法
HRESULT CreatePackageFromFile(
[in] LPCWSTR filename,
[in] BOOL reuseObjects,
[out, retval] IXpsOMPackage **package
);
參數
[in] filename
XPS 封裝檔案的名稱。
[in] reuseObjects
布爾值,指出軟體是否嘗試藉由共用所有屬性和子系中的相同物件,來優化檔物件樹狀結構。
值 | 意義 |
---|---|
|
軟體會嘗試優化物件樹狀結構。 |
|
軟體不會嘗試優化物件樹狀結構。 |
[out, retval] package
新 IXpsOMPackage 介面的指標,其中包含產生的 XPS 檔物件樹狀結構。
傳回值
方法會傳回 HRESULT。 可能的值包括下列數據表中的值,但不限於這些值。 如需此表格中未列出的 XPS 檔 API 傳回值的相關信息,請參閱 XPS 檔錯誤。
傳回碼 | 描述 |
---|---|
|
此方法已成功。 |
|
filename 或 package 為 NULL。 |
這個方法會呼叫 封裝 API。 如需封裝 API 傳回值的相關信息,請參閱 封裝錯誤。
備註
這個方法不會驗證它從數據流載入至 XPS OM 物件的任何數據流型資源內容。 相反地,應用程式必須先驗證這些資源,才能使用這些資源。
此方法不會還原串行化文件頁面;它只會將 XPS 套件還原串行化為頁面參考元件。 呼叫 IXpsOMPageReference::GetPage 方法,即可還原串行化實際頁面。 由於呼叫 GetPage 時不會還原串行化頁面,因此此方法可能會傳回S_OK,或者,如果嘗試載入 XPS 套件中有問題的頁面,則傳回錯誤。
如果您在讀取 XPS 套件之後立即寫入 XPS OM,部分原始內容可能會遺失或變更。
這類情況下可能發生的一些變更會列在下列數據表中:
檔功能 | 動作 |
---|---|
數位簽章 | 已從檔中移除 |
DiscardControl 元件 | 已從檔中移除 |
外文檔元件 | 已從檔中移除 |
FixedPage 標記 | 從原始修改 |
資源字典標記 | 如果已設定優化旗標,請從原始修改 |
如需在程式中使用 IXpsOMPackage 介面的相關信息,請參閱 建立空白 XPS OM。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | 適用於 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 |