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

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

 

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

將 XML 導出為 XAML 的 C++ API

  1. Document 類參考打開XML文件
  2. 使用 Save 方法函數將XML轉換為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 XML file with an instance of Document class
auto doc = MakeObject<Document>(u"template.xml");
// save XML 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++ 更改 XML 文檔的密碼

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

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

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

將 XML 轉換為 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++ 探索 XML 轉換選項

將 XML 轉換為 ODP (OpenDocument 演示文稿格式)
將 XML 轉換為 OTP (OpenDocument 標準格式)
將 XML 轉換為 POT (Microsoft PowerPoint 模板文件)
將 XML 轉換為 POTM (微軟 PowerPoint 模板文件)
將 XML 轉換為 POTX (Microsoft PowerPoint 模板演示)
將 XML 轉換為 PPT (PowerPoint演示文稿)
將 XML 轉換為 PPS (PowerPoint 幻燈片放映)
將 XML 轉換為 PPSM (啟用宏的幻燈片放映)
將 XML 轉換為 PPSX (PowerPoint 幻燈片放映)
將 XML 轉換為 PPT (PowerPoint演示文稿)
將 XML 轉換為 PPTM (啟用宏的演示文稿文件)
將 XML 轉換為 SWF (衝擊波動畫)
將 XML 轉換為 CSV (逗號分隔值)
將 XML 轉換為 DIF (數據交換格式)
將 XML 轉換為 CSV (逗號分隔值)
將 XML 轉換為 FODS (OpenDocument 平面 XML 電子表格)
將 XML 轉換為 MD (降價語言)
將 XML 轉換為 ODS (OpenDocument電子表格)
將 XML 轉換為 SXC (StarSuite Calc 電子表格)
將 XML 轉換為 TSV (製表符分隔值)
將 XML 轉換為 TXT (文本文件)
將 XML 轉換為 XLAM (Excel 啟用宏的加載項)
將 XML 轉換為 XLSB (Excel 二進制工作簿)
將 XML 轉換為 XLSM (啟用宏的電子表格)
將 XML 轉換為 XLT (Excel 97 - 2003 模板)
將 XML 轉換為 XLTM (Excel 啟用宏的模板)

什麼是 XML 文件格式

XML 代表可擴展標記語言,是一種與 HTML 有相似之處但具有不同目的和結構的文件格式。 XML 的主要目標是以自描述和平台無關的方式存儲和傳輸數據。它提供了一組定義自定義標籤的規則,允許用戶創建自己的特定於他們需要的標記語言。

XML 的主要優勢在於它能夠以一種人類可讀的格式表示數據和機器可讀的。這使得它適用於創建數據協議和通過萬維網 (WWW) 等網絡交換結構化信息。基於 XML 的文件格式,例如 Microsoft Open XML、LibreOffice OpenDocument、XHTML 和 SVG,利用 XML 來定義其文檔的結構和內容。

XML 的可擴展性由“X”表示它的名字,這意味著可以根據需要擴展該語言以包含新的標籤和元素。這種靈活性使 XML 能夠適應不同的數據結構和要求,使其在各個行業和領域得到廣泛採用。

但是,XML 的一個缺點是其冗長。由於包含標記和重複結構,XML 文件可能相對較大。這會使 XML 文檔更難閱讀和處理,尤其是在處理大型數據集時。必須小心有效地管理標記標籤以避免數據中的錯誤或不一致。

什麼是 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 文件往往更大,處理時間可能更長。