Converter PPT e PPTX para JPG em JavaScript

Introdução

Converter apresentações PowerPoint e OpenDocument em imagens JPG auxilia no compartilhamento de slides, na otimização de desempenho e na incorporação de conteúdo em sites ou aplicativos. Aspose.Slides permite transformar arquivos PPTX, PPT e ODP em imagens JPEG de alta qualidade. Este guia explica diferentes métodos de conversão.

Com esses recursos, é fácil implementar seu próprio visualizador de apresentações e criar uma miniatura para cada slide. Isso pode ser útil se você desejar proteger os slides contra cópia ou demonstrar a apresentação em modo somente leitura. Aspose.Slides permite converter a apresentação inteira ou um slide específico em formatos de imagem.

Converter PowerPoint PPT/PPTX para JPG

A seguir estão os passos para converter PPT/PPTX para JPG:

  1. Crie uma instância do tipo Presentation.
  2. Obtenha o objeto de slide do tipo Slide a partir da coleção Presentation.getSlides().
  3. Crie a miniatura de cada slide e depois converta‑a em JPG. O método Slide.getImage(float scaleX, float scaleY) é usado para obter uma miniatura de um slide, retornando um objeto Imagess como resultado. O método getImage deve ser chamado a partir do slide necessário do tipo Slide, passando as escalas da miniatura resultante para o método.
  4. Depois de obter a miniatura do slide, chame o método IImage.save(String formatName, int imageFormat) a partir do objeto de miniatura. Passe o nome do arquivo resultante e o formato da imagem para ele.
var pres = new aspose.slides.Presentation("PowerPoint-Presentation.pptx");
try {
    for (let i = 0; i < pres.getSlides().size(); i++) {
        let sld = pres.getSlides().get_Item(i);
        // Cria uma imagem em escala completa
        var slideImage = sld.getImage(1.0, 1.0);
        // Salva a imagem no disco em formato JPEG
        try {
            slideImage.save(java.callStaticMethodSync("java.lang.String", "format", "Slide_%d.jpg", sld.getSlideNumber()), aspose.slides.ImageFormat.Jpeg);
        } finally {
            if (slideImage != null) {
                slideImage.dispose();
            }
        }
    }
} finally {
    if (pres != null) {
        pres.dispose();
    }
}

Converter PowerPoint PPT/PPTX para JPG com Dimensões Personalizadas

Para alterar a dimensão da miniatura e da imagem JPG resultantes, você pode definir os valores ScaleX e ScaleY passando‑os para os métodos Slide.getImage(float scaleX, float scaleY):

var pres = new aspose.slides.Presentation("PowerPoint-Presentation.pptx");
try {
    // Define dimensões
    var desiredX = 1200;
    var desiredY = 800;
    // Obtém valores escalados de X e Y
    var ScaleX = 1.0 / pres.getSlideSize().getSize().getWidth() * desiredX;
    var ScaleY = 1.0 / pres.getSlideSize().getSize().getHeight() * desiredY;
    for (let i = 0; i < pres.getSlides().size(); i++) {
        let sld = pres.getSlides().get_Item(i);
        // Cria uma imagem em escala completa
        var slideImage = sld.getImage(ScaleX, ScaleY);
        // Salva a imagem no disco em formato JPEG
        try {
            slideImage.save(java.callStaticMethodSync("java.lang.String", "format", "Slide_%d.jpg", sld.getSlideNumber()), aspose.slides.ImageFormat.Jpeg);
        } finally {
            if (slideImage != null) {
                slideImage.dispose();
            }
        }
    }
} finally {
    if (pres != null) {
        pres.dispose();
    }
}

Renderizar Comentários ao salvar a Apresentação em Imagem

Aspose.Slides para Node.js via Java oferece um recurso que permite renderizar comentários nos slides de uma apresentação ao convertê‑los em imagens. Este código JavaScript demonstra a operação:

var pres = new aspose.slides.Presentation("presentation.pptx");
try {
    var notesOptions = new aspose.slides.NotesCommentsLayoutingOptions();
    notesOptions.setNotesPosition(aspose.slides.NotesPositions.BottomTruncated);
    var opts = new aspose.slides.RenderingOptions();
    opts.setSlidesLayoutOptions(notesOptions);
    for (let i = 0; i < pres.getSlides().size(); i++) {
        let sld = pres.getSlides().get_Item(i);
        var slideImage = sld.getImage(opts, java.newInstanceSync("java.awt.Dimension", 740, 960));
        try {
            slideImage.save(java.callStaticMethodSync("java.lang.String", "format", "Slide_%d.png", sld.getSlideNumber()));
        } finally {
            if (slideImage != null) {
                slideImage.dispose();
            }
        }
    }
} finally {
    if (pres != null) {
        pres.dispose();
    }
}

Veja também

Veja outras opções para converter PPT/PPTX em imagem, como:

FAQ

Este método oferece suporte à conversão em lote?

Sim, Aspose.Slides permite a conversão em lote de vários slides para JPG em uma única operação.

A conversão suporta SmartArt, gráficos e outros objetos complexos?

Sim, Aspose.Slides renderiza todo o conteúdo, incluindo SmartArt, gráficos, tabelas, formas e mais. Contudo, a precisão da renderização pode variar ligeiramente em relação ao PowerPoint, especialmente ao usar fontes personalizadas ou ausentes.

Existem limitações quanto ao número de slides que podem ser processados?

O próprio Aspose.Slides não impõe limites rígidos ao número de slides que você pode processar. Entretanto, você pode encontrar erros de falta de memória ao trabalhar com apresentações grandes ou imagens de alta resolução.