Aspose.Total for C++ consiste em poderosas APIs de automação de arquivos que permitem automatizar a conversão de RTF para ODP usando duas de suas APIs. Carregue seu RTF 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 RTF para ODP em C++
- Abra o arquivo RTF usando a referência de classe Rtfument
- Converta RTF 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 rtfumento 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 RTF file with an instance of Rtfument
Rtfument rtfument = new Rtfument("template.rtf");
System::SharedPtr<Rtfument> rtf = System::MakeObject<Rtfument>(u"sourceFile.rtf");
// save the rtfument in HTML file format
rtf->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 RTF para ODP
Carregar rtfumento RTF protegido por senha via C++
Além da conversão de rtfumentos, a API Aspose.Words for C++ permite vários recursos de manipulação de rtfumentos para desenvolvedores de C++. Caso seu formato de arquivo RTF do Microsoft Word seja protegido por senha, você ainda pode abri-lo usando a API. Para carregar o rtfumento 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 rtfument, the password is passed to the rtfument's constructor using a LoadOptions object.
auto options = MakeObject<LoadOptions>(u"rtfPassword");
// load the rtfument from the local file system by filename:
SharedPtr<Rtfument> rtf = MakeObject<Rtfument>(u"Encrypted.rtf", options);
Adicionar comentários no rtfumento ODP via C++
Ao salvar o RTF como ODP, você também pode usar o Aspose.Slides for C++ para adicionar mais recursos ao seu rtfumento 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 RTF para ODP Online?Você pode encontrar o aplicativo online para conversão RTF acima. Para iniciar o processo de conversão, você pode adicionar o arquivo RTF 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 RTF para ODP, você pode baixar o arquivo convertido com apenas um clique.
- Quanto tempo leva para converter RTF?A velocidade deste conversor online depende muito do tamanho do arquivo RTF que está sendo convertido. Pequenos arquivos RTF 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 RTF para ODP usando o conversor gratuito Aspose.Total?Claro! Depois que seu arquivo RTF 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 RTF, é 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 RTF?Para conversão RTF 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 RTF é recomendada para um desempenho suave.