Gerenciar guias de desenho em apresentações em .NET
Visão geral
Guias de desenho são linhas horizontais e verticais ajustáveis que ajudam os usuários a alinhar formas de forma consistente ao editar uma apresentação no PowerPoint. Elas são especialmente úteis quando uma aplicação gera uma apresentação que será refinada manualmente posteriormente: a aplicação pode salvar os mesmos auxiliares de alinhamento que os autores devem seguir ao adicionar ou mover conteúdo.
Guias de desenho são auxiliares de edição, não conteúdo de slide. Elas não aparecem em uma apresentação de slides ou na saída renderizada. Aspose.Slides for .NET as as expõe por meio da interface IDrawingGuidesCollection. Um guia é representado por IDrawingGuide e possui uma orientação, uma posição e uma cor.
A posição é medida em pontos a partir do canto superior esquerdo do slide ou mestre relevante. Um guia vertical usa uma coordenada horizontal, normalmente entre zero e a largura do slide. Um guia horizontal usa uma coordenada vertical, normalmente entre zero e a altura do slide.
Adicionar guias à visualização de slide
Use ICommonSlideViewProperties.DrawingGuides para gerenciar os guias exibidos ao editar slides normais. Chame IDrawingGuidesCollection.Add com um valor de Orientation e uma posição em pontos.
O exemplo a seguir adiciona um guia vertical à direita do centro do slide e um guia horizontal abaixo dele:
using Aspose.Slides;
using Aspose.Slides.Export;
using var presentation = new Presentation();
var slideSize = presentation.SlideSize.Size;
var guides = presentation.ViewProperties.SlideViewProperties.DrawingGuides;
guides.Add(Orientation.Vertical, slideSize.Width / 2 + 12.5f);
guides.Add(Orientation.Horizontal, slideSize.Height / 2 + 12.5f);
presentation.Save("drawing-guides.pptx", SaveFormat.Pptx);
Acessar guias de desenho
A propriedade IDrawingGuidesCollection.Count e o indexador fornecem acesso aos guias existentes. As propriedades IDrawingGuide.Orientation, IDrawingGuide.Position e IDrawingGuide.Color podem ser lidas ou alteradas.
O exemplo a seguir lê os guias da visualização de slide da apresentação criada acima:
using Aspose.Slides;
using var presentation = new Presentation("drawing-guides.pptx");
var guides = presentation.ViewProperties.SlideViewProperties.DrawingGuides;
for (var index = 0; index < guides.Count; index++)
{
var guide = guides[index];
Console.WriteLine($"Guide {index}: orientation = {guide.Orientation}, position = {guide.Position}, color = {guide.Color}");
}
Adicionar guias a slides mestre e de layout
Um slide mestre e cada um de seus slides de layout podem ter suas próprias coleções de guias de desenho. Use IMasterSlide.DrawingGuides para um slide mestre e ILayoutSlide.DrawingGuides para um slide de layout.
O exemplo a seguir adiciona um guia vertical ao primeiro slide mestre e um guia horizontal ao primeiro slide de layout:
using Aspose.Slides;
using Aspose.Slides.Export;
using var presentation = new Presentation();
var slideSize = presentation.SlideSize.Size;
var masterGuides = presentation.Masters[0].DrawingGuides;
var layoutGuides = presentation.LayoutSlides[0].DrawingGuides;
masterGuides.Add(Orientation.Vertical, slideSize.Width / 2 - 20f);
layoutGuides.Add(Orientation.Horizontal, slideSize.Height / 2 + 20f);
presentation.Save("master-layout-drawing-guides.pptx", SaveFormat.Pptx);
Adicionar guias a mestres de notas e de folheto
Mestres de notas e mestres de folheto também suportam guias de desenho. Use IMasterNotesSlide.DrawingGuides e IMasterHandoutSlide.DrawingGuides para acessar suas coleções. Se uma apresentação não contiver um desses mestres, IMasterNotesSlideManager.SetDefaultMasterNotesSlide ou IMasterHandoutSlideManager.SetDefaultMasterHandoutSlide cria o mestre padrão e o retorna.
O exemplo a seguir adiciona um guia horizontal a um mestre de notas e um guia vertical a um mestre de folheto:
using Aspose.Slides;
using Aspose.Slides.Export;
using var presentation = new Presentation();
var notesSize = presentation.NotesSize.Size;
var notesMaster = presentation.MasterNotesSlideManager.SetDefaultMasterNotesSlide();
var handoutMaster = presentation.MasterHandoutSlideManager.SetDefaultMasterHandoutSlide();
notesMaster.DrawingGuides.Add(Orientation.Horizontal, notesSize.Height / 2 + 50f);
handoutMaster.DrawingGuides.Add(Orientation.Vertical, notesSize.Width / 2 - 50f);
presentation.Save("notes-handout-drawing-guides.pptx", SaveFormat.Pptx);
Remover guias de desenho
Chame IDrawingGuidesCollection.Clear para remover todos os guias de uma determinada coleção. Limpar uma coleção não afeta os guias armazenados em outro escopo.
O exemplo a seguir limpa os guias da visualização de slide e todos os guias em slides mestres, slides de layout, o mestre de notas e o mestre de folheto sem criar mestres ausentes:
using Aspose.Slides;
using Aspose.Slides.Export;
using var presentation = new Presentation("presentation-with-guides.pptx");
presentation.ViewProperties.SlideViewProperties.DrawingGuides.Clear();
foreach (var masterSlide in presentation.Masters)
{
masterSlide.DrawingGuides.Clear();
}
foreach (var layoutSlide in presentation.LayoutSlides)
{
layoutSlide.DrawingGuides.Clear();
}
var notesMaster = presentation.MasterNotesSlideManager.MasterNotesSlide;
if (notesMaster != null)
{
notesMaster.DrawingGuides.Clear();
}
var handoutMaster = presentation.MasterHandoutSlideManager.MasterHandoutSlide;
if (handoutMaster != null)
{
handoutMaster.DrawingGuides.Clear();
}
presentation.Save("presentation-without-guides.pptx", SaveFormat.Pptx);
Perguntas frequentes
Os guias de desenho aparecem em uma apresentação de slides ou em imagens exportadas?
Não. Os guias de desenho são auxílios de alinhamento para edição e não são renderizados como conteúdo da apresentação.
Um guia de desenho pode ser adicionado diretamente a um slide normal individual?
Os guias de edição de slide normal são armazenados nas propriedades de visualização de slide da apresentação. Coleções de guias separadas estão disponíveis para slides mestres, slides de layout, mestres de notas e mestres de folheto.
Quais unidades são usadas para as posições dos guias?
As posições são especificadas em pontos, onde 72 pontos equivalem a uma polegada. As posições verticais são medidas a partir da borda esquerda, e as posições horizontais são medidas a partir da borda superior.
A limpeza dos guias de desenho remove formas ou altera o conteúdo do slide?
Não. O método Clear remove apenas os guias na coleção selecionada. Formas e outros conteúdos do slide permanecem inalterados.