Aspose.Total for C++ 包含強大的文件自動化 API,允許在使用其中兩個 API 時自動進行 WORDML 到 ODP 的轉換。使用 Aspose.Words for C++ 加載您的 WORDML 並將其轉換為 HTML,然後通過 PowerPoint 操作 C++ API Aspose.Slides for C++ 加載 HTML 創建一個新的演示文稿,並將其保存為 ODP。
C++ 上的 WORDML 到 ODP 轉換
- 用 Wordmlument 類參考打開WORDML文件
- 使用 Save 成員函數將 WORDML 轉換為 HTML
- 始化一個新的 Presentation 對象
- 在你的幻燈片中添加一個自選圖形,並在其中添加 AddTextFrame
- 加載 HTML 內容並將其寫入您的 Presentation 文件中
- 使用 Save 方法將文檔保存為 ODP 格式,並將 Odp 設置為 SaveFormat
轉換要求
從命令行安裝為 nuget install Aspose.Total.Cpp
或通過 Visual Studio 的包管理器控制台使用 Install-Package Aspose.Total.Cpp
。
或者,從 下載 獲取 ZIP 文件中的離線 MSI 安裝程序或 DLL。
// load WORDML file with an instance of Wordmlument
Wordmlument wordmlument = new Wordmlument("template.wordml");
System::SharedPtr<Wordmlument> wordml = System::MakeObject<Wordmlument>(u"sourceFile.wordml");
// save the wordmlument in HTML file format
wordml->Save(u"HtmlOutput.HTML");
// load the desired the presentation
SharedPtr<Presentation> pres = MakeObject<Presentation>();
// access first slide
SharedPtr<ISlide> sld = pres->get_Slides()->idx_get(0);
// add an AutoShape of Rectangle type
SharedPtr<IAutoShape> ashp = sld->get_Shapes()->AddAutoShape(ShapeType::Rectangle, 10, 10, 700, 500);
// reset default fill color
ashp->get_FillFormat()->set_FillType(FillType::NoFill);
// add TextFrame to the Rectangle
ashp->AddTextFrame(u" ");
// access the text frame
SharedPtr<ITextFrame> txtFrame = ashp->get_TextFrame();
// get Paragraphs collection
SharedPtr<Aspose::Slides::IParagraphCollection>ParaCollection = txtFrame->get_Paragraphs();
// clear all paragraphs in added text frame
ParaCollection->Clear();
// load the HTML file using stream reader
SharedPtr<System::IO::StreamReader> tr = MakeObject<System::IO::StreamReader>(HtmlOutput.HTML);
// add text from HTML stream reader in text frame
ParaCollection->AddFromHtml(tr->ReadToEnd());
// save presentation as Odp
pres->Save(output.odp, Aspose::Slides::Export::SaveFormat::Odp);
免費的 WORDML 到 ODP 在線轉換器
通過 C++ 加載受密碼保護的 WORDML 文檔
除了文檔轉換, Aspose.Words for C++ API 為 C++ 開發人員提供了大量的文檔操作功能。如果您的 Microsoft Word WORDML 文件格式受密碼保護,您仍然可以使用 API 打開它。為了加載加密文檔,您可以使用特殊的構造函數重載,它接受 LoadOptions 對象。此對象包含 Password 屬性,該屬性指定密碼字符串。
// when loading password protected wordmlument, the password is passed to the wordmlument's constructor using a LoadOptions object.
auto options = MakeObject<LoadOptions>(u"wordmlPassword");
// load the wordmlument from the local file system by filename:
SharedPtr<Wordmlument> wordml = MakeObject<Wordmlument>(u"Encrypted.wordml", options);
通過 C++ 在 ODP 文檔中添加註釋
在將 WORDML 保存為 ODP 的同時,您還可以使用 Aspose.Slides for C++ 在您的 ODP 文檔中添加更多功能。例如,您可以在演示文稿中添加評論。演示幻燈片註釋與特定作者相關聯。 Presentation 類在 ICommentAuthorCollection 中保存負責添加幻燈片註釋的作者集合。對於每個作者,ICommentCollection 中都有一組評論。
// instantiate Presentation class
SharedPtr<Presentation>pres = MakeObject<Presentation>();
// access first slide
SharedPtr<ILayoutSlide>layout = pres->get_LayoutSlides()->idx_get(0);
// add empty slide
pres->get_Slides()->AddEmptySlide(layout);
// adding Author
SharedPtr<ICommentAuthor> author = pres->get_CommentAuthors()->AddAuthor(u"John Doe", u"MF");
// set position of comments
System::Drawing::PointF point = System::Drawing::PointF(0.2f, 0.2f);
// add slide comment for an author on slide 1
author->get_Comments()->AddComment(u"Hello John, this is a slide comment", pres->get_Slides()->idx_get(1), point, DateTime::get_Now());
// access ISlide 1
SharedPtr<ISlide> slide = pres->get_Slides()->idx_get(0);
// save presentation as Odp
pres->Save(output.odp, Aspose::Slides::Export::SaveFormat::Odp);
經常問的問題
- 如何在線將 WORDML 轉換為 ODP?您可以在上面找到用於 WORDML 轉換的在線應用程序。要開始轉換過程,您可以通過拖放或在白色區域內單擊以導入文檔來添加 WORDML 文件。添加文件後,只需單擊“轉換”按鈕即可。 WORDML 到 ODP 轉換完成後,您只需單擊一下即可下載轉換後的文件。
- 轉換 WORDML 需要多長時間?此在線轉換器的速度在很大程度上取決於正在轉換的 WORDML 文件的大小。只需幾秒鐘即可將小型 WORDML 文件轉換為 ODP。如果您在 C++ 應用程序中使用轉換代碼,轉換速度將取決於您對應用程序的優化程度。
- 使用免費的 Aspose.Total 轉換器將 WORDML 轉換為 ODP 是否安全?當然!使用我們的在線轉換器將您的 WORDML 文件轉換為 ODP 後,ODP 文件的下載鏈接將立即可用。我們非常重視您上傳文件的安全和隱私,並會在轉換過程完成 24 小時後將其刪除。請放心,沒有人可以訪問您的文件。我們的轉換過程,包括 WORDML 轉換,是完全安全的。我們提供了一個用於測試目的的免費應用程序,以便您可以在集成代碼之前驗證結果。
- 我應該使用什麼瀏覽器來轉換 WORDML?對於在線 WORDML 轉換,您可以使用任何現代瀏覽器,例如 Google Chrome、Firefox、Opera 或 Safari。但是,如果您正在開發桌面應用程序,建議使用 Aspose.Total WORDML Conversion API 以獲得流暢的性能。
使用 C++ 探索 WORDML 轉換選項
什麼是 WORDML 文件格式
Microsoft Word 2003 引入了一種稱為 WordprocessingML 的專有文檔格式。這種基於 XML 的格式利用自定義 XML 架構來存儲 Word 文檔的各種元素,包括文本、格式、圖像和其他內容。 WordprocessingML 旨在提供所有文檔信息的綜合表示,同時保持人類可讀和機器可讀的質量。
人類可讀意味著可以使用標准文本編輯器輕鬆訪問和編輯 WordprocessingML 文檔。這種可訪問性允許用戶在需要時直接操作底層 XML 結構。此外,WordprocessingML 旨在促進計算機系統的自動處理和轉換,從而實現向其他格式的無縫轉換或與不同軟件應用程序的集成。
WordprocessingML 是一個開放標準,這意味著其規範可公開供參考和開發者實施。這種開放性促進了眾多軟件程序的開發,包括 OpenOffice.org 和 LibreOffice 等開源解決方案,它們可以讀寫 WordprocessingML 文檔。此類工具的可用性將 WordprocessingML 文件的可訪問性和互操作性擴展到 Microsoft Word 生態系統之外。
Microsoft Word 作為全球使用最廣泛的文字處理程序之一,對 WordprocessingML 作為 XML 的普及做出了貢獻基於文字處理格式。它的廣泛接受度使 WordprocessingML 成為共享和交換格式豐富的文檔的普遍標準。
什麼是 ODP 文件格式
ODP 是一種文件格式,用於以開放文檔格式 (ODF) 存儲演示幻燈片。 ODP 代表開放文檔演示。它是 LibreOffice Impress、OpenOffice Impress 和 Apache OpenOffice 等演示軟件應用程序的默認文件格式。
ODP 文件基於 XML,這是一種用於組織和構建數據的標記語言。它們旨在成為一種開放且可互操作的格式,允許用戶跨不同的軟件應用程序和平台創建、編輯和共享演示文稿幻燈片。
ODP 格式支持演示文稿中常用的各種功能和元素.它包括對幻燈片佈局、文本格式、圖像、圖表、表格、過渡、動畫和音頻和視頻等多媒體元素的支持。
ODP 格式的優勢之一是它與不同的演示軟件兼容.用戶可以在一個應用程序中創建 ODP 演示文稿並在另一個應用程序中打開它,而不會丟失格式或內容。這有助於協作並允許在用戶之間無縫共享和編輯演示文稿。
ODP 文件可以輕鬆轉換為其他流行的演示文稿格式,例如 Microsoft PowerPoint 的 PPTX 格式或 PDF,以實現更廣泛的訪問和共享目的。此外,ODP 格式促進了文檔的長期保存和可訪問性,確保隨著時間的推移可以準確地訪問和顯示演示文稿。