Converter Slides de Apresentação em Imagens em JavaScript
Introdução
Aspose.Slides for Node.js via Java permite que você converta facilmente slides de apresentações PowerPoint e OpenDocument em vários formatos de imagem, incluindo BMP, PNG, JPG (JPEG), GIF e outros.
Para converter um slide em uma imagem, siga estas etapas:
- Defina as configurações de conversão desejadas e selecione os slides que deseja exportar usando:
- A classe TiffOptions ou
- A classe RenderingOptions .
- Gere a imagem do slide chamando o método getImage .
No Aspose.Slides for Node.js via Java, um IImage é uma classe que permite trabalhar com imagens definidas por dados de pixel. Você pode usar esta classe para salvar imagens em uma ampla variedade de formatos (BMP, JPG, PNG, etc.).
Converter Slides para Bitmap e Salvar as Imagens em PNG
Você pode converter um slide em um objeto bitmap e usá‑lo diretamente em sua aplicação. Alternativamente, pode converter um slide em um bitmap e depois salvar a imagem em JPEG ou em qualquer outro formato preferido.
Este código JavaScript demonstra como converter o primeiro slide de uma apresentação em um objeto bitmap e então salvar a imagem no formato PNG:
let presentation = new aspose.slides.Presentation("Presentation.pptx");
try {
// Converta o primeiro slide da apresentação em um bitmap.
let image = presentation.getSlides().get_Item(0).getImage();
try {
// Salve a imagem no formato PNG.
image.save("Slide_0.png", aspose.slides.ImageFormat.Png);
} finally {
image.dispose();
}
} finally {
presentation.dispose();
}
Converter Slides para Imagens com Tamanhos Personalizados
Pode ser necessário obter uma imagem de tamanho específico. Usando uma sobrecarga do getImage, você pode converter um slide em uma imagem com dimensões específicas (largura e altura).
Este exemplo de código demonstra como fazer isso:
let imageSize = java.newInstanceSync("java.awt.Dimension", 1820, 1040);
let presentation = new aspose.slides.Presentation("Presentation.pptx");
try {
// Converta o primeiro slide da apresentação em um bitmap com o tamanho especificado.
let image = presentation.getSlides().get_Item(0).getImage(imageSize);
try {
// Salve a imagem no formato JPEG.
image.save("Slide_0.jpg", aspose.slides.ImageFormat.Jpeg);
} finally {
image.dispose();
}
} finally {
presentation.dispose();
}
Converter Slides com Anotações e Comentários para Imagens
Alguns slides podem conter anotações e comentários.
Aspose.Slides fornece duas classes—TiffOptions e RenderingOptions—que permitem controlar a renderização de slides de apresentação em imagens. Ambas as classes incluem o método setSlidesLayoutOptions, que permite configurar a renderização de anotações e comentários em um slide ao convertê‑lo em imagem.
Com a classe NotesCommentsLayoutingOptions, você pode especificar a posição preferida para anotações e comentários na imagem resultante.
Este código JavaScript demonstra como converter um slide com anotações e comentários:
const scaleX = 2;
const scaleY = scaleX;
// Load a presentation file.
let presentation = new aspose.slides.Presentation("Presentation_with_notes_and_comments.pptx");
try {
let notesCommentsOptions = new aspose.slides.NotesCommentsLayoutingOptions();
notesCommentsOptions.setNotesPosition(aspose.slides.NotesPositions.BottomTruncated); // Defina a posição das notas.
notesCommentsOptions.setCommentsPosition(aspose.slides.CommentsPositions.Right); // Defina a posição dos comentários.
notesCommentsOptions.setCommentsAreaWidth(500); // Defina a largura da área de comentários.
notesCommentsOptions.setCommentsAreaColor(java.getStaticFieldValue("java.awt.Color", "LIGHT_GRAY")); // Defina a cor da área de comentários.
// Crie as opções de renderização.
let options = new aspose.slides.RenderingOptions();
options.setSlidesLayoutOptions(notesCommentsOptions);
// Converta o primeiro slide da apresentação em uma imagem.
let image = presentation.getSlides().get_Item(0).getImage(options, scaleX, scaleY);
try {
// Salve a imagem no formato GIF.
image.save("Image_with_notes_and_comments_0.gif", aspose.slides.ImageFormat.Gif);
} finally {
image.dispose();
}
} finally {
presentation.dispose();
}
Note
Em qualquer processo de conversão de slide para imagem, o método setNotesPosition não pode aplicarBottomFull (para especificar a posição das anotações) porque o texto de uma anotação pode ser muito grande, impossibilitando que caiba no tamanho de imagem especificado.
Converter Slides para Imagens Usando Opções TIFF
A classe TiffOptions oferece maior controle sobre a imagem TIFF resultante, permitindo especificar parâmetros como tamanho, resolução, paleta de cores e mais.
Este código JavaScript demonstra um processo de conversão onde as opções TIFF são usadas para gerar uma imagem em preto‑e‑branco com resolução de 300 DPI e tamanho de 2160 × 2800:
// Carregue um arquivo de apresentação.
let presentation = new aspose.slides.Presentation("sample.pptx");
try {
// Obtenha o primeiro slide da apresentação.
let slide = presentation.getSlides().get_Item(0);
// Configure as configurações da imagem TIFF de saída.
let tiffOptions = new aspose.slides.TiffOptions();
tiffOptions.setImageSize(java.newInstanceSync("java.awt.Dimension", 2160, 2880)); // Defina o tamanho da imagem.
tiffOptions.setPixelFormat(aspose.slides.ImagePixelFormat.Format1bppIndexed); // Defina o formato de pixel (preto e branco).
tiffOptions.setDpiX(300); // Defina a resolução horizontal.
tiffOptions.setDpiY(300); // Defina a resolução vertical.
// Converta o slide em uma imagem com as opções especificadas.
let image = slide.getImage(tiffOptions);
try {
// Salve a imagem no formato TIFF.
image.save("output.tiff", aspose.slides.ImageFormat.Tiff);
} finally {
image.dispose();
}
} finally {
presentation.dispose();
}
Note
O suporte a TIFF não é garantido em versões anteriores ao JDK 9.Converter Todos os Slides em Imagens
Aspose.Slides permite converter todos os slides de uma apresentação em imagens, transformando efetivamente a apresentação inteira em uma série de imagens.
Este exemplo de código demonstra como converter todos os slides de uma apresentação em imagens usando JavaScript:
const scaleX = 2;
const scaleY = scaleX;
let presentation = new aspose.slides.Presentation("Presentation.pptx");
try {
// Renderize a apresentação em imagens slide por slide.
for (let i = 0; i < presentation.getSlides().size(); i++) {
// Controle slides ocultos (não renderize slides ocultos).
if (presentation.getSlides().get_Item(i).getHidden()) {
continue;
}
// Converta o slide em uma imagem.
let image = presentation.getSlides().get_Item(i).getImage(scaleX, scaleY);
try {
// Salve a imagem no formato JPEG.
image.save("Slide_" + i + ".jpg", aspose.slides.ImageFormat.Jpeg);
} finally {
image.dispose();
}
}
} finally {
presentation.dispose();
}
Perguntas Frequentes
O Aspose.Slides oferece suporte à renderização de slides com animações?
Não, o método getImage salva apenas uma imagem estática do slide, sem animações.
Slides ocultos podem ser exportados como imagens?
Sim, slides ocultos podem ser processados como os normais. Apenas certifique‑se de que estejam incluídos no loop de processamento.
As imagens podem ser salvas com sombras e efeitos?
Sim, Aspose.Slides oferece suporte à renderização de sombras, transparência e outros efeitos gráficos ao salvar slides como imagens.