Aspose.Total for C++ 包含強大的文件自動化 API,允許在使用其中兩個 API 時自動進行 DOTM 到 ODP 的轉換。使用 Aspose.Words for C++ 加載您的 DOTM 並將其轉換為 HTML,然後通過 PowerPoint 操作 C++ API Aspose.Slides for C++ 加載 HTML 創建一個新的演示文稿,並將其保存為 ODP。
C++ 上的 DOTM 到 ODP 轉換
- 用 Dotmument 類參考打開DOTM文件
- 使用 Save 成員函數將 DOTM 轉換為 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 DOTM file with an instance of Dotmument
Dotmument dotmument = new Dotmument("template.dotm");
System::SharedPtr<Dotmument> dotm = System::MakeObject<Dotmument>(u"sourceFile.dotm");
// save the dotmument in HTML file format
dotm->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);
免費的 DOTM 到 ODP 在線轉換器
通過 C++ 加載受密碼保護的 DOTM 文檔
除了文檔轉換, Aspose.Words for C++ API 為 C++ 開發人員提供了大量的文檔操作功能。如果您的 Microsoft Word DOTM 文件格式受密碼保護,您仍然可以使用 API 打開它。為了加載加密文檔,您可以使用特殊的構造函數重載,它接受 LoadOptions 對象。此對象包含 Password 屬性,該屬性指定密碼字符串。
// when loading password protected dotmument, the password is passed to the dotmument's constructor using a LoadOptions object.
auto options = MakeObject<LoadOptions>(u"dotmPassword");
// load the dotmument from the local file system by filename:
SharedPtr<Dotmument> dotm = MakeObject<Dotmument>(u"Encrypted.dotm", options);
通過 C++ 在 ODP 文檔中添加註釋
在將 DOTM 保存為 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);
經常問的問題
- 如何在線將 DOTM 轉換為 ODP?您可以在上面找到用於 DOTM 轉換的在線應用程序。要開始轉換過程,您可以通過拖放或在白色區域內單擊以導入文檔來添加 DOTM 文件。添加文件後,只需單擊“轉換”按鈕即可。 DOTM 到 ODP 轉換完成後,您只需單擊一下即可下載轉換後的文件。
- 轉換 DOTM 需要多長時間?此在線轉換器的速度在很大程度上取決於正在轉換的 DOTM 文件的大小。只需幾秒鐘即可將小型 DOTM 文件轉換為 ODP。如果您在 C++ 應用程序中使用轉換代碼,轉換速度將取決於您對應用程序的優化程度。
- 使用免費的 Aspose.Total 轉換器將 DOTM 轉換為 ODP 是否安全?當然!使用我們的在線轉換器將您的 DOTM 文件轉換為 ODP 後,ODP 文件的下載鏈接將立即可用。我們非常重視您上傳文件的安全和隱私,並會在轉換過程完成 24 小時後將其刪除。請放心,沒有人可以訪問您的文件。我們的轉換過程,包括 DOTM 轉換,是完全安全的。我們提供了一個用於測試目的的免費應用程序,以便您可以在集成代碼之前驗證結果。
- 我應該使用什麼瀏覽器來轉換 DOTM?對於在線 DOTM 轉換,您可以使用任何現代瀏覽器,例如 Google Chrome、Firefox、Opera 或 Safari。但是,如果您正在開發桌面應用程序,建議使用 Aspose.Total DOTM Conversion API 以獲得流暢的性能。
使用 C++ 探索 DOTM 轉換選項
什麼是 DOTM 文件格式
DOTM 文件格式與 Microsoft Word 密切相關,用於存儲包含宏的文檔。與標準 DOCX 格式類似,DOTM 文件基於 Open XML 格式,但增加了合併 VBA(Visual Basic for Applications)宏的功能。這些宏是在 Word 文檔中自動執行任務的小程序,允許增強功能和自定義。
DOTM 文件用作 Microsoft Word 中的模板,提供預定義的結構、格式和宏,可用於創建新文檔。使用 DOTM 模板時,可以執行模板中的宏來執行特定操作,例如自動執行重複性任務或添加動態內容。
要使用 DOTM 文件,您需要一個文字處理程序支持 Open XML 格式和宏執行,例如 Microsoft Word 或其他兼容軟件。打開 DOTM 文件將基於模板創建一個新文檔,包括其預定義的宏。然後,用戶可以根據自己的特定要求使用或修改宏。
使用 DOTM 文件時一定要謹慎,因為宏可能包含惡意代碼。為確保文檔安全,建議僅打開來自受信任來源的 DOTM 文件並採取適當的防病毒措施。
DOTM 文件格式提供了一種創建和使用帶有嵌入式宏的文檔模板的有效方法,可提高工作效率和定制化在 Microsoft Word 中。通過利用宏的強大功能,用戶可以自動執行任務、簡化工作流程並定制他們的文檔以滿足特定需求。L 格式並且可以由 Word 和其他文字處理應用程序打開。
什麼是 ODP 文件格式
ODP 是一種文件格式,用於以開放文檔格式 (ODF) 存儲演示幻燈片。 ODP 代表開放文檔演示。它是 LibreOffice Impress、OpenOffice Impress 和 Apache OpenOffice 等演示軟件應用程序的默認文件格式。
ODP 文件基於 XML,這是一種用於組織和構建數據的標記語言。它們旨在成為一種開放且可互操作的格式,允許用戶跨不同的軟件應用程序和平台創建、編輯和共享演示文稿幻燈片。
ODP 格式支持演示文稿中常用的各種功能和元素.它包括對幻燈片佈局、文本格式、圖像、圖表、表格、過渡、動畫和音頻和視頻等多媒體元素的支持。
ODP 格式的優勢之一是它與不同的演示軟件兼容.用戶可以在一個應用程序中創建 ODP 演示文稿並在另一個應用程序中打開它,而不會丟失格式或內容。這有助於協作並允許在用戶之間無縫共享和編輯演示文稿。
ODP 文件可以輕鬆轉換為其他流行的演示文稿格式,例如 Microsoft PowerPoint 的 PPTX 格式或 PDF,以實現更廣泛的訪問和共享目的。此外,ODP 格式促進了文檔的長期保存和可訪問性,確保隨著時間的推移可以準確地訪問和顯示演示文稿。