共用方式為


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 檔錯誤

傳回碼 描述
S_OK
此方法已成功。
E_POINTER
filenamepackageNULL
 

這個方法會呼叫 封裝 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

另請參閱

建立空白 XPS OM

IXpsOMObjectFactory

IXpsOMPackage

IXpsOMPageReference::GetPage

封裝錯誤

XML Paper Specification

XPS 檔案錯誤