Aspose.Total for C++ состоит из мощных API-интерфейсов для автоматизации файлов, которые позволяют автоматизировать преобразование DOTM в ODP при использовании двух API-интерфейсов. Загрузите свой DOTM с помощью Aspose.Words for C++ и преобразуйте его в HTML, затем загрузите HTML с помощью C++ API для обработки PowerPoint Aspose.Slides for C++ , чтобы создать новую презентацию и сохранить ее как ODP.
Преобразование DOTM в ODP на C++
- Откройте файл DOTM, используя ссылку на класс Dotmument .
- Преобразуйте DOTM в HTML с помощью функции-члена Save .
- Инициализируйте новый объект Презентация
- Добавьте AutoShape на слайд и добавьте в него AddTextFrame.
- Загрузите содержимое HTML и запишите его в файл презентации.
- Сохраните документ в формате ODP с помощью метода Save и установите Odp как SaveFormat.
Требования к конвертации
Установите из командной строки как nuget install Aspose.Total.Cpp
или через консоль диспетчера пакетов Visual Studio с помощью Install-Package Aspose.Total.Cpp
.
Кроме того, вы можете получить автономный установщик MSI или библиотеки DLL в ZIP-файле из загрузки .
// 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
Загрузить защищенный паролем документ DOTM через C++
Помимо преобразования документов, 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);
Добавить комментарии в документ ODP через C++
При сохранении 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++, скорость преобразования будет зависеть от того, насколько хорошо вы оптимизировали свое приложение.
- Безопасно ли конвертировать DOTM в ODP с помощью бесплатного конвертера Aspose.Total?Конечно! После того, как ваш файл DOTM будет преобразован в ODP с помощью нашего онлайн-конвертера, ссылка для скачивания файла ODP будет немедленно доступна. Мы серьезно относимся к безопасности и конфиденциальности загруженных вами файлов и удаляем их через 24 часа после завершения процесса преобразования. Будьте уверены, никто не получит доступ к вашим файлам. Наш процесс преобразования, включая преобразование DOTM, полностью безопасен. Мы предоставляем бесплатное приложение для целей тестирования, чтобы вы могли проверить результаты перед интеграцией кода.
- Какой браузер я должен использовать для преобразования DOTM?Для онлайн-конвертации DOTM вы можете использовать любой современный браузер, такой как Google Chrome, Firefox, Opera или Safari. Однако, если вы разрабатываете настольное приложение, рекомендуется использовать Aspose.Total DOTM Conversion API для бесперебойной работы.