Aspose.Total for C++ consiste em poderosas APIs de automação de arquivos que permitem automatizar a conversão de DOTM para ODP usando duas de suas APIs. Carregue seu DOTM usando Aspose.Words for C++ e converta-o em HTML, depois carregue o HTML via API C++ de manipulação do PowerPoint Aspose.Slides for C++ para criar uma nova apresentação e salvá-la como ODP.
Conversão de DOTM para ODP em C++
- Abra o arquivo DOTM usando a referência de classe Dotmument
- Converta DOTM para HTML usando a função de membro Save
- Inicialize um novo objeto Apresentação
- Adicione uma AutoForma em seu slide e adicione AddTextFrame nele
- Carregue o conteúdo HTML e escreva-o em seu arquivo de apresentação
- Salve o dotmumento no formato ODP usando o método Save e defina Odp como SaveFormat
Requisitos de conversão
Instale a partir da linha de comando como nuget install Aspose.Total.Cpp
ou via Package Manager Console do Visual Studio com Install-Package Aspose.Total.Cpp
.
Como alternativa, obtenha o instalador MSI offline ou as DLLs em um arquivo ZIP em downloads .
// 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);
Conversor Online Gratuito de DOTM para ODP
Carregar dotmumento DOTM protegido por senha via C++
Além da conversão de dotmumentos, a API Aspose.Words for C++ permite vários recursos de manipulação de dotmumentos para desenvolvedores de C++. Caso seu formato de arquivo DOTM do Microsoft Word seja protegido por senha, você ainda pode abri-lo usando a API. Para carregar o dotmumento criptografado, você pode usar uma sobrecarga de construtor especial, que aceita um objeto LoadOptions . Este objeto contém a propriedade Password, que especifica a string de senha.
// 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);
Adicionar comentários no dotmumento ODP via C++
Ao salvar o DOTM como ODP, você também pode usar o Aspose.Slides for C++ para adicionar mais recursos ao seu dotmumento ODP. Por exemplo, você pode adicionar comentários em sua apresentação. O comentário do slide da apresentação está associado a um autor específico. A classe Presentation contém a coleção de autores em ICommentAuthorCollection que são responsáveis por adicionar comentários ao slide. Para cada autor, há uma coleção de comentários em 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);
perguntas frequentes
- Como posso converter DOTM para ODP Online?Você pode encontrar o aplicativo online para conversão DOTM acima. Para iniciar o processo de conversão, você pode adicionar o arquivo DOTM arrastando e soltando ou clicando dentro da área branca para importar o documento. Depois de adicionar o arquivo, basta clicar no botão "Converter". Após a conclusão da conversão de DOTM para ODP, você pode baixar o arquivo convertido com apenas um clique.
- Quanto tempo leva para converter DOTM?A velocidade deste conversor online depende muito do tamanho do arquivo DOTM que está sendo convertido. Pequenos arquivos DOTM podem ser convertidos em ODP em apenas alguns segundos. Se você estiver usando o código de conversão em um aplicativo C++, a velocidade de conversão dependerá de quão bem você otimizou seu aplicativo.
- É seguro converter DOTM para ODP usando o conversor gratuito Aspose.Total?Claro! Depois que seu arquivo DOTM for convertido em ODP usando nosso conversor online, o link para download do arquivo ODP estará imediatamente disponível. Levamos a sério a segurança e a privacidade de seus arquivos enviados e os excluímos 24 horas após a conclusão do processo de conversão. Fique tranquilo, ninguém terá acesso aos seus arquivos. Nosso processo de conversão, incluindo conversão DOTM, é totalmente seguro. Fornecemos um aplicativo gratuito para fins de teste para que você possa verificar os resultados antes de integrar o código.
- Qual navegador devo usar para converter DOTM?Para conversão DOTM online, você pode usar qualquer navegador moderno, como Google Chrome, Firefox, Opera ou Safari. No entanto, se você estiver desenvolvendo um aplicativo de desktop, a API de conversão Aspose.Total DOTM é recomendada para um desempenho suave.