在 C++ 應用程序中將 XPS 渲染到 XAML

在您的 C++ 應用程序中將 XPS 轉換為 XAML,而無需使用 Microsoft® PowerPoint

 

您是一名 C++ 開發人員,希望在您的 C++ 應用程序中添加集成 XPS 到 XAML 轉換功能嗎?您可以通過兩個簡單的步驟來完成。您可以使用 Aspose.PDF for C++ 將 XPS 導出到 PPTX。其次,通過使用 Aspose.Slides for C++ ,您可以將PPTX轉換為XAML。這兩個 API 都屬於 Aspose.Total for C++ 包。

將 XPS 導出為 XAML 的 C++ API

  1. Document 類參考打開XPS文件
  2. 使用 Save 方法函數將XPS轉換為PPTX
  3. Presentation 類參考加載PPTX文檔
  4. 使用 Save 成員函數將文檔保存為 XAML 格式,並將 Xaml 設置為 SaveFormat

轉換要求

從命令行安裝為 nuget install Aspose.Total.Cpp 或通過 Visual Studio 的包管理器控制台使用 Install-Package Aspose.Total.Cpp

或者,從 下載 獲取 ZIP 文件中的離線 MSI 安裝程序或 DLL。

// load XPS file with an instance of Document class
auto doc = MakeObject<Document>(u"template.xps");
// save XPS as PPTX format 
doc->Save(u"PptxOutput.pptx", SaveFormat::Pptx);
// instantiate a Presentation object that represents a PPTX file
SharedPtr<Presentation> prs = MakeObject<Presentation>(u"PptxOutput.pptx");
// save the presentation as Xaml format
prs->Save(u"output.xaml", Aspose::Slides::Export::SaveFormat::Xaml);  

通過 C++ 更改 XPS 文檔的密碼

在將 XPS 渲染為 XAML 的過程中,您可以打開受密碼保護的 XPS 並更改其密碼。要更改 XPS 文件的密碼,您必須知道該文檔的所有者密碼。您可以通過指定所有者密碼並使用 ChangePasswords 方法更改密碼來使用 Aspose.PDF for C++ 加載受密碼保護的 PDF 文檔。

// load an existing XPS Document
auto doc = MakeObject<Document>(L"input.xps", L"owner");
// change password of XPS Document
doc->ChangePasswords(L"owner", L"newuser", L"newuser");
// save the document
doc->Save(L"output.Doc");

通過 C++ 在 XAML 文件中添加來自 Web 的圖像

將 XPS 轉換為 XAML 後,您還可以將 Web 中的圖像添加到輸出文檔中。 Aspose.Slides for C++ 支持對以下流行格式的圖像進行操作:JPEG、PNG、BMP、GIF 等。您可以將計算機上的一個或多個圖像添加到演示文稿的幻燈片中。此 C++ 示例代碼向您展示如何將圖像添加到 XAML 文件

// instantiate a Presentation object that represents a XAML file
auto pres = System::MakeObject<Presentation>("output.xaml");
// get slide
auto slide = pres->get_Slides()->idx_get(0);
// initialize Web Client    
auto webClient = System::MakeObject<WebClient>();
// get image data
auto imageData = webClient->DownloadData(System::MakeObject<Uri>(u"[REPLACE WITH URL]"));
// add image
auto image = pres->get_Images()->AddImage(imageData);
// add picture frame
slide->get_Shapes()->AddPictureFrame(ShapeType::Rectangle, 10.0f, 10.0f, 100.0f, 100.0f, image);
// save updated file
pres->Save(u"updated.xaml", SaveFormat::Xaml);

使用 C++ 探索 XPS 轉換選項

將 XPS 轉換為 ODP (OpenDocument 演示文稿格式)
將 XPS 轉換為 OTP (OpenDocument 標準格式)
將 XPS 轉換為 POT (Microsoft PowerPoint 模板文件)
將 XPS 轉換為 POTM (微軟 PowerPoint 模板文件)
將 XPS 轉換為 POTX (Microsoft PowerPoint 模板演示)
將 XPS 轉換為 PPT (PowerPoint演示文稿)
將 XPS 轉換為 PPS (PowerPoint 幻燈片放映)
將 XPS 轉換為 PPSM (啟用宏的幻燈片放映)
將 XPS 轉換為 PPSX (PowerPoint 幻燈片放映)
將 XPS 轉換為 PPT (PowerPoint演示文稿)
將 XPS 轉換為 PPTM (啟用宏的演示文稿文件)
將 XPS 轉換為 SWF (衝擊波動畫)
將 XPS 轉換為 DOCM (Microsoft Word 2007 宏文件)
將 XPS 轉換為 DOT (Microsoft Word 模板文件)
將 XPS 轉換為 DOTM (Microsoft Word 2007+ 模板文件)
將 XPS 轉換為 DOTX (微軟 Word 模板文件)
將 XPS 轉換為 FLATOPC (Microsoft Word 2003 文字處理ML)
將 XPS 轉換為 GIF (圖形交換格式)
將 XPS 轉換為 MARKDOWN (輕量級標記語言)
將 XPS 轉換為 ODT (OpenDocument 文本文件格式)
將 XPS 轉換為 OTT (打開文檔模板)
將 XPS 轉換為 PCL (打印機命令語言)
將 XPS 轉換為 PS (後記文件)
將 XPS 轉換為 RTF (富文本格式)
將 XPS 轉換為 WORDML (Microsoft Word 2003 文字處理ML)
將 XPS 轉換為 XAMLFLOW (微軟的 Power Automate)
將 XPS 轉換為 CSV (逗號分隔值)
將 XPS 轉換為 DIF (數據交換格式)
將 XPS 轉換為 CSV (逗號分隔值)
將 XPS 轉換為 FODS (OpenDocument 平面 XML 電子表格)
將 XPS 轉換為 MD (降價語言)
將 XPS 轉換為 ODS (OpenDocument電子表格)
將 XPS 轉換為 SXC (StarSuite Calc 電子表格)
將 XPS 轉換為 TSV (製表符分隔值)
將 XPS 轉換為 TXT (文本文件)
將 XPS 轉換為 XLAM (Excel 啟用宏的加載項)
將 XPS 轉換為 XLSB (Excel 二進制工作簿)
將 XPS 轉換為 XLSM (啟用宏的電子表格)
將 XPS 轉換為 XLT (Excel 97 - 2003 模板)

什麼是 XPS 文件格式

XPS 是 XML Paper Specification 的縮寫,是 Microsoft 創建的一種文件格式,用於表示固定佈局的文檔。 XPS 文件包含文檔的內容和打印設置,使其適用於在不同設備和平台上保留文檔的佈局和外觀。

XPS 格式基於 XML(可擴展標記語言),一種廣泛用於結構化數據表示的標記語言。 XPS 文件以結構化 XML 格式封裝文檔內容,例如文本、圖像、矢量圖形和註釋。這樣可以輕鬆解釋和呈現文檔的視覺元素。

XPS 文件在概念上類似於 PDF(便攜式文檔格式)文件,因為它們都旨在提供一種可靠的方式來呈現和共享文檔,同時保留其格式和佈局。但是,PDF 文件在不同的軟件應用程序和硬件設備上獲得了更廣泛的支持,從而使它們得到更廣泛的接受和兼容。

要查看和使用 XPS 文件,Microsoft 在 Windows 操作系統中提供了 XPS 查看器.各種第三方應用程序和工具也支持打開、創建和轉換 XPS 文件。不過,相較於PDF,支持XPS格式的軟硬件範圍可能更為有限。

什麼是 XAML 文件格式

XAML(Extensible Application Markup Language)是微軟開發的一種基於XML的語言,用於初始化對象和定義結構化值。它廣泛用於 Microsoft 的 WPF(Windows Presentation Foundation)技術中,用於設計和構建高級用戶界面。

使用 XAML,可以創建範圍廣泛的對象,包括用戶界面元素,例如按鈕、文本框和媒體元素。此外,還可以使用 XAML 定義畫筆和幾何圖形等非用戶界面對象。

通常,XAML 被編譯成可由 XAML 處理器執行的二進制格式。 XAML 處理器可以是獨立的應用程序,如 Microsoft 的 Expression Blend 工具,也可以集成到另一個應用程序中,如 Microsoft 的 Visual Studio IDE。當與 WPF 結合使用時,XAML 文件通常被編譯成稱為 BAML(二進制應用程序標記語言)的二進制格式。 BAML 是一種更高效的格式,用於存儲和處理基於 XAML 的用戶界面元素。

雖然 XAML 文件通常被編譯成二進制格式,但它們也可以使用 XML(可擴展標記語言)以基於文本的格式存儲).由於 XML 的靈活性,可以使用任何文本編輯器編輯基於 XML 的 XAML 文件。但是,請務必注意,與對應的二進製文件相比,基於 XML 的 XAML 文件往往更大,處理時間可能更長。