.NET에서 프레젠테이션 저장 방법

.NET에서 프레젠테이션 저장 방법

Aspose.Slides FOSS for .NET은 .pptx 형식으로만 prs.Save(path, SaveFormat.Pptx)을 사용하여 프레젠테이션을 저장합니다. 이 가이드는 올바른 저장 패턴, 다른 경로에 저장, 스트림에 저장 및 일반적인 저장 관련 오류를 다룹니다.

단계별 가이드

1단계: 패키지 설치

dotnet add package Aspose.Slides.Foss

2단계: 프레젠테이션 열기 또는 만들기

항상 using 문을 사용하십시오. 저장 호출은 객체가 폐기되기 전에 발생해야 합니다.

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);

3단계: 모든 수정 후 저장

모든 수정이 완료된 후에 Save() 호출을 배치하고, using 범위가 끝나기 전에.

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);

4단계: 다른 경로에 저장

원본을 수정하지 않고 새 파일을 만들려면 다른 출력 경로를 전달하십시오:

using var prs = new Presentation("template.pptx");
// modify ...
prs.Save("customized.pptx", SaveFormat.Pptx);

template.pptx 파일은 수정되지 않으며; customized.pptx 파일이 생성됩니다(이미 존재하는 경우에는 덮어쓰기됩니다).


5단계: 스트림에 저장

Presentation.Save 메서드도 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");

6단계: 출력 확인

파일에 저장한 후, 파일이 존재하는지 확인하십시오:

var info = new FileInfo("output.pptx");
Console.WriteLine($"Saved: {info.Exists}, size: {info.Length} bytes");

지원되는 저장 형식

형식열거형 값지원
PPTX (Office Open XML)SaveFormat.Pptx
PDFN/A아니오
HTMLN/A아니오
SVGN/A아니오
PNG / JPEGN/A아니오
ODP (OpenDocument)N/A아니오

PPTX만 지원됩니다. format 매개변수는 현재 무시되며, 지정된 SaveFormat에 관계없이 모든 프레젠테이션이 PPTX로 저장됩니다.


일반적인 문제 및 해결 방법

IOException: The process cannot access the file

출력 파일이 다른 애플리케이션에서 열려 있습니다(예: PowerPoint에서 파일이 열려 있음). 저장하기 전에 다른 애플리케이션에서 파일을 닫으세요.

파일이 생성되었지만 비어 있거나 손상된 것으로 보입니다

객체가 폐기되기 전에 prs.Save()이 호출되도록 하십시오. Dispose()가 실행된 후에는 이후 호출이 실패하거나 손상된 출력이 발생합니다.

저장 시 예상치 못한 출력 형식

SaveFormat 값 중 SaveFormat.Pptx 이외의 값을 전달해도 예외가 발생하지 않습니다 — format 매개변수는 조용히 무시되고 파일은 항상 PPTX로 저장됩니다. 인식되지 않은 형식 값에 대한 NotSupportedException 은 없습니다.


자주 묻는 질문

열어둔 파일에 같은 파일로 저장할 수 있나요?

예. 동일한 경로에 저장하면 원본 파일이 덮어쓰기됩니다:

using var prs = new Presentation("deck.pptx");
// modify ...
prs.Save("deck.pptx", SaveFormat.Pptx);  // overwrites original

저장하면 수정하지 않은 내용이 보존되나요?

예. 원본 파일의 알 수 없는 XML 부분은 그대로 보존됩니다. 라이브러리는 이해하는 문서 모델의 부분만 직렬화하고, 인식하지 못하는 XML은 그대로 전달합니다.


또 보기

 한국어