gerar miniaturas PPTX em C#

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

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#.

  1. Primeiro, crie uma instância da classe Apresentação para carregar a apresentação.
  2. Faça um loop em cada ISlide na coleção Presentation.Slides.
  3. 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.
  4. 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.

  1. Primeiro, crie uma instância da classe Apresentação para carregar a apresentação.
  2. Em seguida, defina as dimensões desejadas das miniaturas e dimensione os valores usando as propriedades Largura e Altura.
  3. Faça um loop em cada ISlide na coleção Presentation.Slides.
  4. 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.
  5. 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.

Veja também