Características e capacidades
Características e capacidades
Aspose.Slides FOSS for Java provides a broad set of capabilities for working with PowerPoint .pptx Esta página lista todas as áreas de recursos suportadas com exemplos de código representativos.
Apresentação de I/O
Abrir um sistema existente . .pptx arquivo ou criar um novo, em seguida, salvar de volta para o formato PPTX.
import org.aspose.slides.foss.Presentation;
import org.aspose.slides.foss.export.SaveFormat;
// Open an existing presentation
try (Presentation prs = new Presentation("input.pptx")) {
System.out.println("Slide count: " + prs.getSlides().size());
prs.save("output.pptx", SaveFormat.PPTX);
}
// Create a new presentation (starts with one blank slide)
try (Presentation prs = new Presentation()) {
prs.save("new.pptx", SaveFormat.PPTX);
}Nota: O formato de armazenamento é o único suportado nesta edição do FOSS. A chamada de salva serializa a gráfica completa da apresentação para o contêiner OOXML.
Partes XML desconhecidas no arquivo de origem são preservadas literalmente em salvar, então abrir e re-salvar um .pptx Nunca vai tirar conteúdo que a biblioteca ainda não entende.
Gestão de diapositivas
Utilização: prs.getSlides() para adicionar diapositivas vazias com: addEmptySlide(), remova os já existentes ou verifique a contagem total de slides:
import org.aspose.slides.foss.Presentation;
import org.aspose.slides.foss.export.SaveFormat;
try (Presentation prs = new Presentation()) {
// Access the first slide
var slide = prs.getSlides().get(0);
// Add an additional blank slide at the end
prs.getSlides().addEmptySlide(prs.getLayoutSlides().get(0));
System.out.println("Total slides: " + prs.getSlides().size());
prs.save("multi-slide.pptx", SaveFormat.PPTX);
}Formas de papel
Adicionar AutoShapes, PictureFrames e Connectors a um slide.
AutoShapes
Chama-me . slide.getShapes().addAutoShape() com um ShapeType, posição, e tamanho, então ligue para o telefone. addTextFrame() para definir o conteúdo do texto:
import org.aspose.slides.foss.Presentation;
import org.aspose.slides.foss.ShapeType;
import org.aspose.slides.foss.export.SaveFormat;
try (Presentation prs = new Presentation()) {
var slide = prs.getSlides().get(0);
// Add a rectangle at (x=50, y=50) with width=300, height=100
var shape = slide.getShapes().addAutoShape(ShapeType.RECTANGLE, 50, 50, 300, 100);
shape.addTextFrame("Aspose.Slides FOSS");
prs.save("shapes.pptx", SaveFormat.PPTX);
}Tabelas de dados
Utilização: slide.getShapes().addTable() com largura de coluna e altura das linhas, em seguida acessar células via table.getRows().get(row).get(col):
import org.aspose.slides.foss.Presentation;
import org.aspose.slides.foss.export.SaveFormat;
try (Presentation prs = new Presentation()) {
var slide = prs.getSlides().get(0);
// Column widths and row heights in points
double[] colWidths = {120.0, 120.0, 120.0};
double[] rowHeights = {40.0, 40.0, 40.0};
var table = slide.getShapes().addTable(50, 50, colWidths, rowHeights);
table.getRows().get(0).get(0).getTextFrame().setText("Product");
table.getRows().get(0).get(1).getTextFrame().setText("Quantity");
table.getRows().get(0).get(2).getTextFrame().setText("Price");
prs.save("table.pptx", SaveFormat.PPTX);
}Conectores
Chama-me . slide.getShapes().addConnector() e definido setStartShapeConnectedTo() e a) setEndShapeConnectedTo() para ligar duas formas com uma linha de ligação:
import org.aspose.slides.foss.Presentation;
import org.aspose.slides.foss.ShapeType;
import org.aspose.slides.foss.export.SaveFormat;
try (Presentation prs = new Presentation()) {
var slide = prs.getSlides().get(0);
var box1 = slide.getShapes().addAutoShape(ShapeType.RECTANGLE, 50, 100, 150, 60);
var box2 = slide.getShapes().addAutoShape(ShapeType.RECTANGLE, 350, 100, 150, 60);
var conn = slide.getShapes().addConnector(ShapeType.BENT_CONNECTOR3, 0, 0, 10, 10);
conn.setStartShapeConnectedTo(box1);
conn.setStartShapeConnectionSiteIndex(3); // right side
conn.setEndShapeConnectedTo(box2);
conn.setEndShapeConnectionSiteIndex(1); // left side
prs.save("connector.pptx", SaveFormat.PPTX);
}Formato de texto
Acessos getPortionFormat() em cada um dos seguintes: Portion para definir a altura da fonte, negrito, itálico e cor de preenchimento no nível do caractere:
import org.aspose.slides.foss.Presentation;
import org.aspose.slides.foss.ShapeType;
import org.aspose.slides.foss.NullableBool;
import org.aspose.slides.foss.FillType;
import org.aspose.slides.foss.drawing.Color;
import org.aspose.slides.foss.export.SaveFormat;
try (Presentation prs = new Presentation()) {
var slide = prs.getSlides().get(0);
var shape = slide.getShapes().addAutoShape(ShapeType.RECTANGLE, 50, 50, 500, 150);
var tf = shape.addTextFrame("Bold blue heading");
var fmt = tf.getParagraphs().get(0).getPortions().get(0).getPortionFormat();
fmt.setFontHeight(28);
fmt.setFontBold(NullableBool.TRUE);
fmt.getFillFormat().setFillType(FillType.SOLID);
fmt.getFillFormat().getSolidFillColor().setColor(Color.fromArgb(255, 0, 70, 127));
prs.save("text.pptx", SaveFormat.PPTX);
}NullableBool.TRUE define explicitamente a propriedade; NullableBool.NOT_DEFINED herda do mestre de slides.
Tipos de preenchimento
Set (s) shape.getFillFormat().setFillType() a) para o FillType.SOLID e configurar a cor de preenchimento via getSolidFillColor().setColor() Utilizando valores ARGB:
import org.aspose.slides.foss.Presentation;
import org.aspose.slides.foss.ShapeType;
import org.aspose.slides.foss.FillType;
import org.aspose.slides.foss.drawing.Color;
import org.aspose.slides.foss.export.SaveFormat;
try (Presentation prs = new Presentation()) {
var slide = prs.getSlides().get(0);
var shape = slide.getShapes().addAutoShape(ShapeType.RECTANGLE, 50, 50, 300, 150);
// Solid fill
shape.getFillFormat().setFillType(FillType.SOLID);
shape.getFillFormat().getSolidFillColor().setColor(Color.fromArgb(255, 30, 120, 200));
prs.save("fill.pptx", SaveFormat.PPTX);
}Efeitos visuais
Aplique sombra externa, brilho, borda macia, desfoque, reflexão e sombra interna às formas.
As propriedades do efeito são acessíveis através de: shape.getEffectFormat().- Ligue. enableOuterShadowEffect(), enableGlowEffect(), enableSoftEdgeEffect(), setBlurEffect(radius, grow), enableReflectionEffect(), ou enableInnerShadowEffect() para configurar cada um de forma independente.
3D Formatting
Aplicar 3D bevel, câmera, equipamento de iluminação, material e profundidade extrusão via shape.getThreeDFormat().Este controla a profundidade visual e o modelo de iluminação para a reprodução de formas em visualizadores PPTX que suportam efeitos 3D.
Notas do orador
Acessos getNotesSlideManager() em qualquer diapositiva e chamada addNotesSlide() para criar uma página de notas, em seguida, definir o texto das notas diretamente:
import org.aspose.slides.foss.Presentation;
import org.aspose.slides.foss.export.SaveFormat;
try (Presentation prs = new Presentation()) {
var notes = prs.getSlides().get(0).getNotesSlideManager().addNotesSlide();
notes.getNotesTextFrame().setText("Key talking point: emphasize the ROI benefit.");
prs.save("notes.pptx", SaveFormat.PPTX);
}Comentários
Criar um autor de comentários com: prs.getCommentAuthors().addAuthor(),Então , liga-me . author.getComments().addComment() com as coordenadas de deslizamento e posição:
import org.aspose.slides.foss.Presentation;
import org.aspose.slides.foss.drawing.PointF;
import org.aspose.slides.foss.export.SaveFormat;
import java.time.LocalDateTime;
try (Presentation prs = new Presentation()) {
var author = prs.getCommentAuthors().addAuthor("Jane Smith", "JS");
var slide = prs.getSlides().get(0);
author.getComments().addComment(
"Please verify this data before the presentation.",
slide,
new PointF(2.0f, 2.0f),
LocalDateTime.now()
);
prs.save("comments.pptx", SaveFormat.PPTX);
}Imagens incorporadas
Incorporar uma imagem de um arquivo na apresentação e adicioná-lo a um slide como um PictureFrame.
import org.aspose.slides.foss.Presentation;
import org.aspose.slides.foss.ShapeType;
import org.aspose.slides.foss.export.SaveFormat;
import java.nio.file.Files;
import java.nio.file.Path;
try (Presentation prs = new Presentation()) {
byte[] imageData = Files.readAllBytes(Path.of("logo.png"));
var image = prs.getImages().addImage(imageData);
var slide = prs.getSlides().get(0);
slide.getShapes().addPictureFrame(ShapeType.RECTANGLE, 50, 50, 200, 150, image);
prs.save("with-image.pptx", SaveFormat.PPTX);
}Propriedades do documento
Acessos prs.getDocumentProperties() para ler ou escrever propriedades padrão, tais como título, autor e assunto, mais pares de valores personalizados:
import org.aspose.slides.foss.Presentation;
import org.aspose.slides.foss.export.SaveFormat;
try (Presentation prs = new Presentation()) {
var props = prs.getDocumentProperties();
// Core properties
props.setTitle("Q1 Results");
props.setAuthor("Finance Team");
props.setSubject("Quarterly Review");
props.setKeywords("Q1, finance, results");
// Custom property
props.setCustomPropertyValue("ReviewedBy", "Legal Team");
prs.save("deck.pptx", SaveFormat.PPTX);
}Limitações conhecidas
As seguintes áreas de interesse social são: UnsupportedOperationException e não estão disponíveis nesta edição:
| Área de exploração | Estatuto da União Europeia |
|---|---|
| Gráficos | Não aplicada |
| SmartArt | Não aplicada |
| Animações e transições | Não aplicada |
| Exportação de PDF / HTML / SVG / imagem | Não implementado (apenas PPTX) |
| Macros VBA | Não aplicada |
| Assinaturas digitais | Não aplicada |
| Hiperligações e configurações de ação | Não aplicada |
| Objetos OLE | Não aplicada |
| Texto matemático | Não aplicada |
Ver também:
- Começar a Fazer: Instalação e primeiro programa
- Referência API: Referência de classe e método
- Guia de Como Fazer:Artigos orientados para tarefas
- Aspose.Slides for Java — Enterprise Documentation