Como salvar apresentações em Java

Como salvar apresentações em Java

Aspose.Slides FOSS para Java salva apresentações exclusivamente no formato .pptx usando o formato ‘`prs.save(path, SaveFormat.PPTX)’). Este guia abrange o padrão de guarda correto, a conservação em um caminho diferente e erros comuns relacionados à armazenagem.

Guia passo a passo

  • Não, não.

Passo 1: Adicionar a dependência Maven

Adicione a dependência seguinte ao seu pom.xml para puxar na biblioteca FOSS Aspose.Slides:

<dependency>
  <groupId>org.aspose</groupId>
  <artifactId>aspose-slides-foss</artifactId>
  <version>26.7.0</version>
</dependency>

Passo 2: Abra ou crie uma apresentação

Sempre use recursos de tentativa. A chamada de salvamento deve acontecer dentro do bloco de tentar.

import org.aspose.slides.foss.Presentation;
import org.aspose.slides.foss.ISlide;
import org.aspose.slides.foss.IAutoShape;
import org.aspose.slides.foss.ShapeType;
import org.aspose.slides.foss.export.SaveFormat;

// Create new
try (Presentation prs = new Presentation()) {
    prs.save("new.pptx", SaveFormat.PPTX);
}

// Open existing
try (Presentation prs = new Presentation("input.pptx")) {
    prs.save("output.pptx", SaveFormat.PPTX);
}

Passo 3: Salvar depois de todas as modificações

Coloque a chamada save() como última instrução dentro do bloco de tentativa, depois que todas as modificações estiverem completas.

import org.aspose.slides.foss.Presentation;
import org.aspose.slides.foss.ISlide;
import org.aspose.slides.foss.IAutoShape;
import org.aspose.slides.foss.ShapeType;
import org.aspose.slides.foss.export.SaveFormat;

try (Presentation prs = new Presentation()) {
    ISlideCollection slides = prs.getSlides();
    ISlide slide = slides.get(0);
    IAutoShape shape = slide.getShapes().addAutoShape(
        ShapeType.RECTANGLE, 50, 50, 300, 100
    );
    shape.addTextFrame("Hello, World!");
    prs.save("output.pptx", SaveFormat.PPTX);
}

Passo 4: Salve para um caminho diferente

Passe um caminho de saída diferente para criar um novo arquivo sem modificar o original:

try (Presentation prs = new Presentation("template.pptx")) {
    // modify ...
    prs.save("customized.pptx", SaveFormat.PPTX);
}

O ficheiro template.pptx não é modificado; o ficheirão ̋customized.PPtx⌒ é criado (ou substituído se já existir).


Passo 5: Verificar a saída

Após a saída do bloco de tentativa, o arquivo está completo e fechado. Verifique se ele existe:

import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;

Path output = Paths.get("output.pptx");
System.out.println("Saved: " + Files.exists(output)
    + ", size: " + Files.size(output) + " bytes");
  • Não, não.

Formatos de salva suportados

FormatEnum ValueSupported
PPTX (Office Open XML)SaveFormat.PPTXYes
PDFN/ANo
HTMLN/ANo
SVGN/ANo
PNG / JPEGN/ANo
ODP (OpenDocument)N/ANo

Apenas PPTX é totalmente suportado. Passando qualquer outro valor SaveFormat para ⌒prs.save(path, format) salva silenciosamente como PP TX nenhuma exceção é jogada e o argumento de formato é ignorado . ゚UnsupportedOperationException só é lançado por ヽprS. save ((ISaveOptions opções) ̋ , não pelos sobrecargas baseadas no formato.


Problemas comuns e soluções

`java.io.IOExceção: Permissão recusada

O arquivo de saída está aberto noutra aplicação (por exemplo, o PowerPoint tem o arquivos abertos). Feche o ficheiro noutras aplicações antes de guardar.

O ficheiro foi criado mas parece vazio ou corrompido .

Assegure prs.save() é chamado dentro do bloco de tentativa, não depois dele. Após a saída do bloqueio de tentar recursos, o objeto ̋Presentação∂ é eliminado e as chamadas subsequentes falharão.

` Operação não apoiadaExceção quando se salva

Isto ocorre quando se utiliza `prs.save(ISaveOptions opções) ̋ o overload baseado em ̨IS SaveOption∂ não é implementado Nota: passar um formato de salvo-pás que não seja PPTX ∂SaveFormat∂ para ̇prS. save(path, format∂não elimina esta exceção; salva silenciosamente como PPtX.


Perguntas Frequentes

Posso salvar no mesmo ficheiro que abri?

Salvar para o mesmo caminho sobrepõe o arquivo original:

try (Presentation prs = new Presentation("deck.pptx")) {
    // modify ...
    prs.save("deck.pptx", SaveFormat.PPTX);  // overwrites original
}

Posso salvar para um OutputStream?

Sim. O método save() aceita um fluxo de saída (OutputStream):

import java.io.FileOutputStream;

try (Presentation prs = new Presentation();
     FileOutputStream fos = new FileOutputStream("output.pptx")) {
    prs.save(fos, SaveFormat.PPTX);
}

A salvação preserva conteúdo que eu não modifiquei?

Sim. Partes XML desconhecidas do arquivo original são preservadas literalmente. A biblioteca só serializa as partes do modelo de documento que entende e passa por qualquer XML que não reconhece.


Ver também:

  • Como criar apresentações em Java
  • Como carregar apresentações em Java
  • Características de um conjunto geral
  • Referência API
  • Aspose.Slides para Java Base de Conhecimento Empresarial
 Português