Miniaturas são comumente usadas para criar versões pequenas de imagens maiores. Eles facilitam a visualização ou a rolagem da lista de imagens. O MS PowerPoint também fornece as miniaturas dos slides em uma apresentação. Usando as miniaturas dos slides, você pode facilmente percorrer a apresentação e navegar até um slide específico. Neste artigo, você aprenderá como gerar miniaturas de PowerPoint PPTX ou PPT usando C#. Isso pode ser útil em cenários como quando você precisa criar seu próprio visualizador do PowerPoint baseado na Web ou na área de trabalho.
- API .NET para gerar miniaturas para PowerPoint PPTX/PPT
- Gerar miniaturas para PPTX/PPT usando C#
- Gerar miniaturas com dimensões definidas pelo usuário
API .NET para gerar miniaturas para PowerPoint PPTX/PPT
Para gerar miniaturas para apresentações PPTX ou PPT, usaremos Aspose.Slides for .NET. É uma API poderosa que permite criar e manipular documentos PowerPoint e OpenOffice. Além disso, permite converter apresentações para outros formatos de arquivo. Você pode baixar a API ou instalá-la usando NuGet.
PM> Install-Package Aspose.Slides.NET
Gerar miniaturas para PPTX ou PPT usando C#
A seguir estão as etapas para gerar miniaturas de uma apresentação PPTX usando C#.
- Primeiro, crie uma instância da classe Apresentação para carregar a apresentação.
- Faça um loop em cada ISlide na coleção Presentation.Slides.
- Gere a miniatura de cada slide usando o método ISlide.GetThumbnail(1f, 1f) e obtenha a referência da miniatura em um objeto Bitmap.
- Finalmente, salve a miniatura no formato de imagem desejado usando o método Bitmap.Save(String, System.Drawing.Imaging.ImageFormat).
O exemplo de código a seguir mostra como gerar miniaturas de uma apresentação PPTX usando C#.
// Carregar apresentação do PowerPoint
using (Presentation pres = new Presentation("presentation.pptx"))
{
foreach (ISlide sld in pres.Slides)
{
// Criar uma imagem em escala real
Bitmap bmp = sld.GetThumbnail(1f, 1f);
// Salve a imagem em disco no formato JPEG
bmp.Save(String.Format("slide_{0}.jpg", sld.SlideNumber), System.Drawing.Imaging.ImageFormat.Jpeg);
}
}
Gerar miniaturas com dimensões definidas pelo usuário
Você também pode personalizar as dimensões das miniaturas de acordo com sua necessidade. Isso pode ser feito usando as propriedades Presentation.SlideSize.Size.Width e Presentation.SlideSize.Size.Height. A seguir estão as etapas para realizar esta operação.
- Primeiro, crie uma instância da classe Apresentação para carregar a apresentação.
- Em seguida, defina as dimensões desejadas das miniaturas e dimensione os valores usando as propriedades Largura e Altura.
- Faça um loop em cada ISlide na coleção Presentation.Slides.
- Gere a miniatura de cada slide usando o método ISlide.GetThumbnail(Single, Single) e obtenha a referência da miniatura em um objeto Bitmap.
- Finalmente, salve a miniatura no formato de imagem desejado usando o método Bitmap.Save(String, System.Drawing.Imaging.ImageFormat).
O exemplo de código a seguir mostra como gerar miniaturas de um PPTX com dimensões personalizadas.
// Carregar apresentação do PowerPoint
using (Presentation pres = new Presentation("presentation.pptx"))
{
// Dimensão definida pelo usuário
int desiredX = 1200;
int desiredY = 800;
// Obtendo o valor dimensionado de X e Y
float ScaleX = (float)(1.0 / pres.SlideSize.Size.Width) * desiredX;
float ScaleY = (float)(1.0 / pres.SlideSize.Size.Height) * desiredY;
foreach (ISlide sld in pres.Slides)
{
// Criar uma imagem em escala real
Bitmap bmp = sld.GetThumbnail(ScaleX, ScaleY);
// Salve a imagem em disco no formato JPEG
bmp.Save(String.Format("slide_{0}.jpg", sld.SlideNumber), System.Drawing.Imaging.ImageFormat.Jpeg);
}
}
Obtenha uma licença de API gratuita
Você pode usar o Aspose.Slides para .NET sem limitações de avaliação solicitando uma licença temporária.
Conclusão
Neste artigo, você aprendeu como gerar miniaturas do PowerPoint PPTX ou PPT usando C#. Além disso, você viu como gerar miniaturas com as dimensões desejadas. Além disso, você pode visitar a documentação para explorar outros recursos da API. Além disso, sinta-se à vontade para nos informar sobre suas dúvidas por meio do nosso fórum.