.NET에서 프레젠테이션 만들기
Aspose.Slides FOSS for .NET는 Microsoft Office에 의존하지 않고 C#만으로 PowerPoint 프레젠테이션을 완전히 만들 수 있게 해줍니다. 이 가이드는 새 프레젠테이션을 만들고, 슬라이드와 도형을 추가하고, 텍스트를 서식 지정하고, 결과를 저장하는 방법을 보여줍니다.
단계별 가이드
1단계: 패키지 설치
NuGet에서 Aspose.Slides FOSS를 설치하십시오. .NET 9.0 이상이 필요합니다.
dotnet add package Aspose.Slides.Foss설치 확인:
using Aspose.Slides.Foss;
using var prs = new Presentation();
Console.WriteLine("Aspose.Slides FOSS ready");다른 시스템 패키지는 필요하지 않습니다.
2단계: 필요한 네임스페이스 가져오기
프레젠테이션을 만들고 저장하는 데 필요한 네임스페이스를 추가하십시오.
using Aspose.Slides.Foss;
using Aspose.Slides.Foss.Export;모든 도형 유형 상수는 Aspose.Slides.Foss.ShapeType에 있습니다. 모든 서식 유형(FillType, NullableBool)도 Aspose.Slides.Foss에 있습니다.
3단계: 프레젠테이션 만들기
new Presentation()을 using 문과 함께 사용하십시오. 새 프레젠테이션은 빈 슬라이드 하나로 시작됩니다.
using Aspose.Slides.Foss;
using Aspose.Slides.Foss.Export;
using var prs = new Presentation();
Console.WriteLine($"Slides in new presentation: {prs.Slides.Count}");
// work with prs
prs.Save("output.pptx", SaveFormat.Pptx);중요: 항상 Presentation을 using 구문과 함께 사용하십시오. 클래스는 IDisposable을 구현하며, 이를 사용하지 않으면 리소스가 올바르게 해제되지 않습니다.
4단계: 슬라이드에 액세스
첫 번째 슬라이드는 인덱스 0에 있습니다. 빈 프레젠테이션에는 정확히 하나의 슬라이드가 있습니다.
using Aspose.Slides.Foss;
using Aspose.Slides.Foss.Export;
using var prs = new Presentation();
var slide = prs.Slides[0]; // zero-based index
Console.WriteLine($"Slide at index 0: {slide}");
prs.Save("output.pptx", SaveFormat.Pptx);5단계: 도형 추가
slide.Shapes.AddAutoShape()을 사용하여 AutoShape를 추가합니다. 매개변수는 (shapeType, x, y, width, height)이며 모두 포인트 단위입니다 (1 포인트 = 1/72 인치; 표준 슬라이드는 720 × 540 pt).
using Aspose.Slides.Foss;
using Aspose.Slides.Foss.Export;
using var prs = new Presentation();
var slide = prs.Slides[0];
// Rectangle at (50, 50) with 400 wide and 120 tall
var shape = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 50, 50, 400, 120);
// Attach a text frame
shape.AddTextFrame("Hello from Aspose.Slides FOSS!");
prs.Save("with-shape.pptx", SaveFormat.Pptx);6단계: 프레젠테이션 저장
객체가 폐기되기 전에 prs.Save(path, SaveFormat.Pptx)을 호출하십시오. PPTX는 지원되는 유일한 출력 형식입니다.
prs.Save("result.pptx", SaveFormat.Pptx);파일은 원자적으로 기록됩니다; 이 호출 이전에 오류가 발생하면 출력 파일이 생성되지 않습니다.
완전한 작업 예제
다음 프로그램은 첫 번째 슬라이드에 제목 도형이 있고 두 번째 슬라이드에 표가 포함된 두 슬라이드 프레젠테이션을 생성합니다.
using Aspose.Slides.Foss;
using Aspose.Slides.Foss.Drawing;
using Aspose.Slides.Foss.Export;
using var prs = new Presentation();
// --- Slide 1: title shape ---
var slide1 = prs.Slides[0];
var title = slide1.Shapes.AddAutoShape(ShapeType.Rectangle, 40, 40, 640, 80);
var tf = title.AddTextFrame("Q1 Results: Executive Summary");
var fmt = tf.Paragraphs[0].Portions[0].PortionFormat;
fmt.FontHeight = 32;
fmt.FontBold = NullableBool.True;
fmt.FillFormat.FillType = FillType.Solid;
fmt.FillFormat.SolidFillColor.Color = Color.FromArgb(255, 0, 70, 127);
// --- Slide 2: table ---
prs.Slides.AddEmptySlide(prs.LayoutSlides[0]);
var slide2 = prs.Slides[1];
var table = slide2.Shapes.AddTable(40, 40,
new double[] { 200.0, 120.0, 120.0 },
new double[] { 40.0, 40.0, 40.0 });
string[] headers = { "Region", "Revenue", "Growth" };
string[][] data = {
new[] { "North", "$1.2M", "+8%" },
new[] { "South", "$0.9M", "+4%" },
};
for (int col = 0; col < headers.Length; col++)
table.Rows[0][col].TextFrame.Text = headers[col];
for (int row = 0; row < data.Length; row++)
for (int col = 0; col < data[row].Length; col++)
table.Rows[row + 1][col].TextFrame.Text = data[row][col];
prs.Save("q1-results.pptx", SaveFormat.Pptx);
Console.WriteLine("Saved q1-results.pptx");일반적인 문제 및 해결책
ObjectDisposedException
Presentation 객체를 using 블록이 끝난 후에 사용하고 있습니다. 모든 작업은 객체가 폐기되기 전에 이루어져야 합니다.
ShapeType에 대한 네임스페이스 누락 오류
파일 상단에 using Aspose.Slides.Foss;이 있는지 확인하십시오. ShapeType, NullableBool, FillType 및 기타 열거형은 이 네임스페이스에 있습니다.
SaveFormat 제외 Pptx
SaveFormat 값을 SaveFormat.Pptx 이외의 것으로 전달해도 예외가 발생하지 않습니다. format 매개변수는 조용히 무시되며 PPTX가 항상 생성됩니다. 명시적으로 하려면 항상 SaveFormat.Pptx을 사용하십시오.
자주 묻는 질문
기본 슬라이드 크기는 무엇인가요?
새로운 Presentation()은 표준 10 x 7.5인치(720 x 540 포인트) 크기의 슬라이드를 생성합니다. 이 버전에서는 슬라이드 크기 변경을 아직 지원하지 않습니다.
한 번에 여러 슬라이드를 추가할 수 있나요?
예. prs.Slides.AddEmptySlide(prs.LayoutSlides[0])을 호출하여 빈 슬라이드를 추가하고 인덱스로 접근합니다:
prs.Slides.AddEmptySlide(prs.LayoutSlides[0]);
var slide2 = prs.Slides[1];기존 파일을 열고 슬라이드를 추가할 수 있나요?
예:
using var prs = new Presentation("existing.pptx");
prs.Slides.AddEmptySlide(prs.LayoutSlides[0]);
prs.Save("existing.pptx", SaveFormat.Pptx);어떤 형식으로 저장할 수 있나요?
SaveFormat.Pptx만 지원됩니다. PDF, HTML, SVG 또는 이미지로 내보내기는 이 에디션에서 사용할 수 없습니다.