Como salvar apresentações em .NET
Aspose.Slides FOSS para .NET salva apresentações exclusivamente no formato .pptx usando o formato “`prs.Save(path, SaveFormat.Pptx) “) Este guia abrange o padrão de salvamento correto, a conservação em um caminho diferente, na armazenagem num fluxo e erros comuns relacionados com a guarda.
Guia passo a passo
- Não, não.
Passo 1: Instalar o pacote
aspose-slides-foss/slides is not yet published — build from source until it ships. See the project README for build instructions.Passo 2: Abra ou crie uma apresentação
Sempre use uma instrução de “usando”. A chamada de salvamento deve ocorrer antes que o objeto seja descartado.
using Aspose.Slides.Foss;
using Aspose.Slides.Foss.Export;
// Create new
using var prs = new Presentation();
prs.Save("new.pptx", SaveFormat.Pptx);// Open existing
using var prs = new Presentation("input.pptx");
prs.Save("output.pptx", SaveFormat.Pptx);Passo 3: Salvar depois de todas as modificações
Colocar a chamada “Salvar” depois de todas as modificações terem sido completadas, antes do fim do âmbito de utilização.
using Aspose.Slides.Foss;
using Aspose.Slides.Foss.Export;
using var prs = new Presentation();
var slide = prs.Slides[0];
var shape = slide.Shapes.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:
using var 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: Salve para um fluxo de dados
O método Presentation.Save também aceita um ̋Stream∂:
using Aspose.Slides.Foss;
using Aspose.Slides.Foss.Export;
using var prs = new Presentation();
using var stream = new MemoryStream();
prs.Save(stream, SaveFormat.Pptx);
byte[] pptxBytes = stream.ToArray();
Console.WriteLine($"Size: {pptxBytes.Length} bytes");Passo 6: Verificar a saída
Depois de salvar para um arquivo, verifique se ele existe:
var info = new FileInfo("output.pptx");
Console.WriteLine($"Saved: {info.Exists}, size: {info.Length} bytes");- Não, não.
Formatos de salva suportados
| Format | Enum Value | Supported |
|---|---|---|
| PPTX (Office Open XML) | SaveFormat.Pptx | Yes |
| N/A | No | |
| HTML | N/A | No |
| SVG | N/A | No |
| PNG / JPEG | N/A | No |
| ODP (OpenDocument) | N/A | No |
Apenas o formato PPTX é suportado. O parâmetro de formato é ignorado atualmente; todas as apresentações são salvas como PPtX, independentemente do SaveFormat especificado .
Problemas comuns e soluções
`IOExceção: O processo não pode aceder ao ficheiro
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 .
Certifique-se de que o `prs.Save (() ̋ é chamado antes do objeto ser eliminado. Após a execução do ̓Dispose ( (()) ̇, as chamadas subsequentes falharão ou produzirão saída corrompida.
Formatos de saída inesperados ao salvar
Passar qualquer valor SaveFormat que não seja o de ̋SafeFormet.Pptx∂ não lança uma exceção O parâmetro do formato é silenciosamente ignorado e o arquivo sempre é salvo como PPTX. Não há nenhum ゚NotSupportedException∂ para um valor de formato não reconhecido.
Perguntas Frequentes
Posso salvar no mesmo ficheiro que abri?
Salvar para o mesmo caminho sobrepõe o arquivo original:
using var prs = new Presentation("deck.pptx");
// modify ...
prs.Save("deck.pptx", SaveFormat.Pptx); // overwrites originalA 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 .NET
- Como carregar apresentações em .NET
- Características de um conjunto geral
- Referência API
- Aspose.Slides para .NET Base de Conhecimentos Empresariais