Slide Mestre
Os slides mestres formam o nível superior da hierarquia de herança de slides no PowerPoint. Um slide mestre define elementos de design comuns, como fundos, logotipos e formatação de texto. Slides de layout herdam dos slides mestres, e slides normais herdam dos slides de layout.
Este artigo demonstra como criar, modificar e gerenciar slides mestres usando Aspose.Slides para C++.
Adicionar um Slide Mestre
Este exemplo mostra como criar um novo slide mestre clonando o padrão. Em seguida, adiciona um banner com o nome da empresa a todos os slides por meio da herança de layout.
static void AddMasterSlide()
{
auto presentation = MakeObject<Presentation>();
// Clone o slide mestre padrão.
auto defaultMasterSlide = presentation->get_Master(0);
auto newMasterSlide = presentation->get_Masters()->AddClone(defaultMasterSlide);
// Adiciona um banner com o nome da empresa no topo do slide mestre.
auto textBox = newMasterSlide->get_Shapes()->AddAutoShape(ShapeType::Rectangle, 0, 0, 720, 25);
textBox->get_TextFrame()->set_Text(u"Company Name");
auto paragraph = textBox->get_TextFrame()->get_Paragraph(0);
auto textFormat = paragraph->get_ParagraphFormat()->get_DefaultPortionFormat();
textFormat->get_FillFormat()->set_FillType(FillType::Solid);
textFormat->get_FillFormat()->get_SolidFillColor()->set_Color(Color::get_Black());
textBox->get_FillFormat()->set_FillType(FillType::NoFill);
// Atribui o novo slide mestre a um slide de layout.
auto layoutSlide = presentation->get_LayoutSlide(0);
layoutSlide->set_MasterSlide(newMasterSlide);
// Atribui o slide de layout ao primeiro slide da apresentação.
presentation->get_Slide(0)->set_LayoutSlide(layoutSlide);
presentation->Dispose();
}
💡 Nota 1: Slides mestres fornecem uma maneira de aplicar branding consistente ou elementos de design compartilhados em todos os slides. Qualquer alteração feita no mestre será refletida automaticamente nos slides de layout e nos slides normais dependentes.
💡 Nota 2: Quaisquer formas ou formatações adicionadas a um slide mestre são herdadas pelos slides de layout e, por sua vez, por todos os slides normais que utilizam esses layouts.
A imagem abaixo ilustra como uma caixa de texto adicionada em um slide mestre é renderizada automaticamente no slide final.

Acessar um Slide Mestre
Você pode acessar slides mestres usando a coleção master da apresentação. Veja como recuperá-los e trabalhar com eles:
static void AccessMasterSlide()
{
auto presentation = MakeObject<Presentation>();
auto firstMasterSlide = presentation->get_Master(0);
// Alterar o tipo de fundo.
firstMasterSlide->get_Background()->set_Type(BackgroundType::OwnBackground);
presentation->Dispose();
}
Remover um Slide Mestre
Slides mestres podem ser removidos por índice ou por referência.
static void RemoveMasterSlide()
{
auto presentation = MakeObject<Presentation>(u"sample.pptx");
// Remover um slide mestre por índice.
presentation->get_Masters()->RemoveAt(0);
// Remover um slide mestre por referência.
auto firstMasterSlide = presentation->get_Master(0);
presentation->get_Masters()->Remove(firstMasterSlide);
presentation->Dispose();
}
Remover Slides Mestres Não Utilizados
Algumas apresentações contêm slides mestres que não estão em uso. Remover esses slides pode ajudar a reduzir o tamanho do arquivo.
static void RemoveUnusedMasterSlide()
{
auto presentation = MakeObject<Presentation>();
// Remover todos os slides mestres não usados (inclusive os marcados como Preserve).
presentation->get_Masters()->RemoveUnused(true);
presentation->Dispose();
}