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

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

 

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

將 CGM 導出為 XAML 的 C++ API

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

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

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

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

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

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

什麼是 CGM 文件格式

計算機圖形圖元文件 (CGM) 是 2D 矢量圖形、光柵圖形和文本的文件格式,由 ISO/IEC 8632 定義。CGM 文件可能包含 2D 矢量圖形、光柵圖形和文本。可以存儲圖形的所有方面,包括調色板、線寬、字體以及文本大小和位置。 CGM 文件通常具有 .cgm 文件擴展名,但它們也可以使用 .cgi、.cgmz 或 .cgz。CGM 是一種平台無關的文件格式,這意味著它可以在任何類型的計算機上使用,無論操作系統。 CGM 文件通常用於矢量圖形,因為它們可以縮放而不會降低質量。 CGM 文件也用於技術製圖,例如工程圖,因為它們可以以任何尺寸準確打印。CGM 文件可以由各種軟件程序創建,包括矢量圖形編輯器、CAD 程序和文字處理器。許多可以導出為 CGM 格式的程序也支持導入 CGM 文件。

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