Aspose.Total for C++ 包含強大的文件自動化 API,允許在使用其中兩個 API 時自動進行 DOCM 到 POTM 的轉換。使用 Aspose.Words for C++ 加載您的 DOCM 並將其轉換為 HTML,然後通過 PowerPoint 操作 C++ API Aspose.Slides for C++ 加載 HTML 創建一個新的演示文稿,並將其保存為 POTM。
C++ 上的 DOCM 到 POTM 轉換
- 用 Document 類參考打開DOCM文件
- 使用 Save 成員函數將 DOCM 轉換為 HTML
- 始化一個新的 Presentation 對象
- 在你的幻燈片中添加一個自選圖形,並在其中添加 AddTextFrame
- 加載 HTML 內容並將其寫入您的 Presentation 文件中
- 使用 Save 方法將文檔保存為 POTM 格式,並將 Potm 設置為 SaveFormat
轉換要求
從命令行安裝為 nuget install Aspose.Total.Cpp
或通過 Visual Studio 的包管理器控制台使用 Install-Package Aspose.Total.Cpp
。
或者,從 下載 獲取 ZIP 文件中的離線 MSI 安裝程序或 DLL。
// load DOCM file with an instance of Document
Document docmument = new Document("template.docm");
System::SharedPtr<Document> docm = System::MakeObject<Document>(u"sourceFile.docm");
// save the docmument in HTML file format
docm->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 Potm
pres->Save(output.potm, Aspose::Slides::Export::SaveFormat::Potm);
免費的 DOCM 到 POTM 在線轉換器
通過 C++ 加載受密碼保護的 DOCM 文檔
除了文檔轉換, Aspose.Words for C++ API 為 C++ 開發人員提供了大量的文檔操作功能。如果您的 Microsoft Word DOCM 文件格式受密碼保護,您仍然可以使用 API 打開它。為了加載加密文檔,您可以使用特殊的構造函數重載,它接受 LoadOptions 對象。此對象包含 Password 屬性,該屬性指定密碼字符串。
// when loading password protected docmument, the password is passed to the docmument's constructor using a LoadOptions object.
auto options = MakeObject<LoadOptions>(u"docmPassword");
// load the docmument from the local file system by filename:
SharedPtr<Document> docm = MakeObject<Document>(u"Encrypted.docm", options);
通過 C++ 在 POTM 文檔中添加註釋
在將 DOCM 保存為 POTM 的同時,您還可以使用 Aspose.Slides for C++ 在您的 POTM 文檔中添加更多功能。例如,您可以在演示文稿中添加評論。演示幻燈片註釋與特定作者相關聯。 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 Potm
pres->Save(output.potm, Aspose::Slides::Export::SaveFormat::Potm);
經常問的問題
- 如何在線將 DOCM 轉換為 POTM?您可以在上面找到用於 DOCM 轉換的在線應用程序。要開始轉換過程,您可以通過拖放或在白色區域內單擊以導入文檔來添加 DOCM 文件。添加文件後,只需單擊“轉換”按鈕即可。 DOCM 到 POTM 轉換完成後,您只需單擊一下即可下載轉換後的文件。
- 轉換 DOCM 需要多長時間?此在線轉換器的速度在很大程度上取決於正在轉換的 DOCM 文件的大小。只需幾秒鐘即可將小型 DOCM 文件轉換為 POTM。如果您在 C++ 應用程序中使用轉換代碼,轉換速度將取決於您對應用程序的優化程度。
- 使用免費的 Aspose.Total 轉換器將 DOCM 轉換為 POTM 是否安全?當然!使用我們的在線轉換器將您的 DOCM 文件轉換為 POTM 後,POTM 文件的下載鏈接將立即可用。我們非常重視您上傳文件的安全和隱私,並會在轉換過程完成 24 小時後將其刪除。請放心,沒有人可以訪問您的文件。我們的轉換過程,包括 DOCM 轉換,是完全安全的。我們提供了一個用於測試目的的免費應用程序,以便您可以在集成代碼之前驗證結果。
- 我應該使用什麼瀏覽器來轉換 DOCM?對於在線 DOCM 轉換,您可以使用任何現代瀏覽器,例如 Google Chrome、Firefox、Opera 或 Safari。但是,如果您正在開發桌面應用程序,建議使用 Aspose.Total DOCM Conversion API 以獲得流暢的性能。
使用 C++ 探索 DOCM 轉換選項
什麼是 DOCM 文件格式
DOCM 文件格式是 Microsoft Word 用來指示包含宏的文檔的擴展名。 Microsoft Word 是一種廣泛使用的文字處理程序,允許用戶創建和編輯各種類型的文檔。 Word 中的宏是可自動執行重複性任務、增強功能或向文檔添加自定義功能的小程序或腳本。
DOCM 文件中包含的宏使用戶能夠在其 Word 文檔中自動執行任務,例如執行複雜的任務計算、生成動態內容或應用特定格式。宏通常使用 Visual Basic for Applications (VBA) 編寫,這是一種集成到 Microsoft Office 應用程序中的編程語言。
通過使用宏,用戶可以簡化工作流程、節省時間並提高工作效率。他們可以創建個性化模板、自動設置文檔格式或開發適合其特定需求的自定義解決方案。用戶可以訪問和執行 DOCM 文件中的宏,從而在文檔中提供交互式和動態體驗。
請務必注意,DOCM 文件可能包含惡意宏,因為宏可用於執行有害操作或傳播惡意軟件。作為一項安全措施,Microsoft Word 應用各種安全設置來限制 DOCM 文件中宏的執行。當打開來自未知或不受信任來源的 DOCM 文件時,通常會提示用戶啟用或禁用宏。
DOCM 格式與 Microsoft Word 完全兼容,可以使用該應用程序打開、編輯和保存。但是,與其他文字處理軟件或舊版 Microsoft Word 的兼容性可能會有所不同。為確保跨不同平台的兼容性,建議將 DOCM 文件保存為其他格式,例如不支持宏的 DOCX。
什麼是 POTM 文件格式
POTM 是 Microsoft PowerPoint 中使用的一種文件格式,用於存儲也包含宏的演示文稿模板。與POTX格式類似,POTM文件是PowerPoint 2007中引入的Office Open XML(OOXML)格式的一部分。
POTM中的“M”代表宏,表示這些模板可以包含VBA(Visual Basic用於應用程序)代碼,可自動執行任務並增強演示文稿的功能。這允許用戶創建超越靜態設計元素的動態和交互式模板。
POTM 文件在提供預先設計的幻燈片佈局、格式和样式方面具有與 POTX 文件相同的優勢。但是,宏的包含為模板增加了額外的交互性和自動化層。宏可以執行數據操作、計算、幻燈片切換和用戶交互等任務,使演示文稿更具吸引力和效率。
要使用 POTM 文件,用戶可以在 PowerPoint 中打開它或選擇它作為模板創建一個新的演示文稿。 POTM 模板中嵌入的宏可以在演示過程中執行並與之交互,提供標準模板無法提供的增強功能。
需要注意的是,出於安全考慮,某些系統和組織可能在 PowerPoint 演示文稿中運行宏有限制。在這種情況下,用戶可能需要調整他們的安全設置或獲得必要的權限以啟用 POTM 文件中的宏的執行。
POTM 文件與各種平台上的不同版本的 PowerPoint 兼容,允許用戶創建和跨不同設備和環境與宏共享模板。它們為創建交互式和自動演示文稿提供了強大的工具,為用戶提供了更大的靈活性和自定義選項。