PowerPoint 프레젠테이션 만들기 C#

MS PowerPoint 프레젠테이션을 사용하면 텍스트, 이미지, 차트, 애니메이션 및 기타 요소가 포함된 슬라이드 쇼를 만들 수 있습니다. 다양한 추가 서식 옵션을 통해 프레젠테이션을 더욱 매력적으로 만들 수 있습니다. 이 게시물에서는 프로그래밍 방식으로 이러한 프레젠테이션을 만드는 방법을 알게 될 것입니다. C#을 사용하여 텍스트, 표, 이미지 및 차트가 있는 PPTX 프레젠테이션을 만드는 방법을 배웁니다.

C# 파워포인트 API - 무료 다운로드

.NET용 Aspose.Slides는 .NET 응용 프로그램 내에서 PowerPoint 문서를 만들고 조작할 수 있는 프레젠테이션 조작 API입니다. API는 기본 및 고급 PowerPoint 자동화 기능을 구현하는 데 필요한 거의 모든 기능을 제공합니다. API를 다운로드하거나 NuGet을 통해 설치할 수 있습니다.

Install-Package Aspose.Slides.NET

C#에서 PowerPoint 프레젠테이션 만들기

.NET용 Aspose.Slides를 사용하여 빈 PowerPoint 프레젠테이션을 만드는 것으로 시작해 보겠습니다. 다음은 그렇게 하는 단계입니다.

다음 코드 샘플은 C#에서 PowerPoint 프레젠테이션을 만드는 방법을 보여줍니다.

// 프레젠테이션 파일을 나타내는 프레젠테이션 개체를 인스턴스화합니다.
using (Presentation presentation = new Presentation())
{
    // 첫 번째 슬라이드 가져오기
    ISlide slide = presentation.Slides[0];

    // 슬라이드에 콘텐츠 추가...
    
    // 프레젠테이션 저장
    presentation.Save("NewPresentation.pptx", SaveFormat.Pptx);
}

C#에서 기존 PowerPoint 프레젠테이션 열기

기존 PowerPoint 프레젠테이션을 열기 위해 추가 노력을 기울일 필요가 없습니다. Presentation 클래스의 생성자에 PPTX 파일의 경로를 제공하기만 하면 됩니다. 다음 코드 샘플은 기존 PPTX 프레젠테이션을 여는 방법을 보여줍니다.

// Presentation 클래스의 생성자에 파일 경로를 전달하여 프레젠테이션 파일 열기
Presentation pres = new Presentation("OpenPresentation.pptx");

// 프레젠테이션의 총 슬라이드 수 인쇄
System.Console.WriteLine(pres.Slides.Count.ToString());

C#에서 프레젠테이션에 슬라이드 추가

프레젠테이션을 만든 후에는 프레젠테이션에 슬라이드를 추가할 수 있습니다. 다음은 .NET용 Aspose.Slides를 사용하여 프레젠테이션에 슬라이드를 추가하는 단계입니다.

다음 코드 샘플은 C#을 사용하여 PowerPoint 프레젠테이션에 슬라이드를 추가하는 방법을 보여줍니다.

// 프레젠테이션 파일을 나타내는 프레젠테이션 클래스를 인스턴스화합니다.
using (Presentation pres = new Presentation())
{
    // SlideCollection 클래스 인스턴스화
    ISlideCollection slds = pres.Slides;

    for (int i = 0; i < pres.LayoutSlides.Count; i++)
    {
        // 슬라이드 컬렉션에 빈 슬라이드 추가
        slds.AddEmptySlide(pres.LayoutSlides[i]);

    }

    // PPTX 파일을 디스크에 저장
    pres.Save("EmptySlide_out.pptx", SaveFormat.Pptx);

}

C#을 사용하여 슬라이드에 텍스트 삽입

이제 PowerPoint 프레젠테이션의 슬라이드에 콘텐츠를 추가할 수 있습니다. 먼저 다음 단계를 사용하여 슬라이드에 텍스트를 추가해 보겠습니다.

  • Presentation 클래스를 사용하여 새 프레젠테이션을 만듭니다.
  • 프레젠테이션에서 슬라이드의 참조를 얻습니다.
  • 슬라이드의 지정된 위치에 ShapeType을 Rectangle로 사용하여 IAutoShape를 추가합니다.
  • 새로 추가된 IAutoShape 개체의 참조를 가져옵니다.
  • 기본 텍스트가 포함된 도형에 TextFrame을 추가합니다.
  • 프레젠테이션을 PPTX 파일로 저장합니다.

다음 코드 샘플은 C#을 사용하여 프레젠테이션의 슬라이드에 텍스트를 추가하는 방법을 보여줍니다.

// PresentationEx 인스턴스화 // PresentationEx 인스턴스화
using (Presentation pres = new Presentation())
{
    // 첫 번째 슬라이드 가져오기
    ISlide sld = pres.Slides[0];

    // 직사각형 유형의 도형 추가
    IAutoShape ashp = sld.Shapes.AddAutoShape(ShapeType.Rectangle, 150, 75, 150, 50);

    // 사각형에 TextFrame 추가
    ashp.AddTextFrame(" ");

    // 텍스트 프레임 액세스
    ITextFrame txtFrame = ashp.TextFrame;

    // 텍스트 프레임용 Paragraph 개체 만들기
    IParagraph para = txtFrame.Paragraphs[0];

    // 단락에 대한 부분 개체 만들기
    IPortion portion = para.Portions[0];

    // 텍스트 설정
    portion.Text = "Aspose TextBox";

    // 프레젠테이션을 디스크에 저장
    pres.Save("presentation.pptx", Aspose.Slides.Export.SaveFormat.Pptx);
}

C#을 사용하여 프레젠테이션에서 테이블 만들기

.NET용 Aspose.Slides는 프레젠테이션 문서에 표를 만드는 쉬운 방법을 제공합니다. 다음은 이를 위한 단계입니다.

  • Presentation 클래스의 인스턴스를 만듭니다.
  • 인덱스를 사용하여 슬라이드의 참조를 얻습니다.
  • 너비가 있는 열과 높이가 있는 행의 배열을 정의합니다.
  • IShapes 객체에 의해 노출된 Slide.Shapes.AddTable() 메서드를 사용하여 슬라이드에 테이블을 추가하고 ITable 인스턴스에서 테이블에 대한 참조를 가져옵니다.
  • 각 셀을 반복하여 서식을 적용합니다.
  • Table.Rows[][].TextFrame.Text 속성을 사용하여 셀에 텍스트를 추가합니다.
  • 프레젠테이션을 PPTX 파일로 저장합니다.

다음 코드 샘플은 PowerPoint 프레젠테이션의 슬라이드에서 표를 만드는 방법을 보여줍니다.

// PPTX 파일을 나타내는 프레젠테이션 클래스 인스턴스화
Presentation pres = new Presentation();

// 첫 번째 슬라이드 액세스
ISlide sld = pres.Slides[0];

// 너비가 있는 열과 높이가 있는 행 정의
double[] dblCols = { 50, 50, 50 };
double[] dblRows = { 50, 30, 30, 30, 30 };

// 슬라이드에 표 모양 추가
ITable tbl = sld.Shapes.AddTable(100, 50, dblCols, dblRows);

// 각 셀의 테두리 형식 설정
for (int row = 0; row < tbl.Rows.Count; row++)
{
	for (int cell = 0; cell < tbl.Rows[row].Count; cell++)
	{
		tbl.Rows[row][cell].CellFormat.BorderTop.FillFormat.FillType = FillType.Solid;
		tbl.Rows[row][cell].CellFormat.BorderTop.FillFormat.SolidFillColor.Color = Color.Red;
		tbl.Rows[row][cell].CellFormat.BorderTop.Width = 5;

		tbl.Rows[row][cell].CellFormat.BorderBottom.FillFormat.FillType = (FillType.Solid);
		tbl.Rows[row][cell].CellFormat.BorderBottom.FillFormat.SolidFillColor.Color= Color.Red;
		tbl.Rows[row][cell].CellFormat.BorderBottom.Width =5;

		tbl.Rows[row][cell].CellFormat.BorderLeft.FillFormat.FillType = FillType.Solid;
		tbl.Rows[row][cell].CellFormat.BorderLeft.FillFormat.SolidFillColor.Color =Color.Red;
		tbl.Rows[row][cell].CellFormat.BorderLeft.Width = 5;

		tbl.Rows[row][cell].CellFormat.BorderRight.FillFormat.FillType = FillType.Solid;
		tbl.Rows[row][cell].CellFormat.BorderRight.FillFormat.SolidFillColor.Color = Color.Red;
		tbl.Rows[row][cell].CellFormat.BorderRight.Width = 5;
	}
}

// 행 1의 셀 1 및 2 병합
tbl.MergeCells(tbl.Rows[0][0], tbl.Rows[1][1], false);

// 병합된 셀에 텍스트 추가
tbl.Rows[0][0].TextFrame.Text = "Merged Cells";

// PPTX를 디스크에 저장
pres.Save("table.pptx", SaveFormat.Pptx);

C#을 사용하여 프레젠테이션에서 차트 만들기

다음은 C#을 사용하여 PowerPoint 프레젠테이션에 차트를 추가하는 단계입니다.

  • Presentation 클래스의 인스턴스를 만듭니다.
  • 인덱스로 슬라이드의 참조를 얻습니다.
  • ISlide.Shapes.AddChart(ChartType, Single, Single, Single, Single) 메서드를 사용하여 원하는 유형의 차트를 추가합니다.
  • 차트 제목을 추가합니다.
  • 차트 데이터 워크시트에 액세스합니다.
  • 모든 기본 시리즈 및 범주를 지웁니다.
  • 새로운 시리즈와 카테고리를 추가하세요.
  • 차트 시리즈에 대한 새 차트 데이터를 추가합니다.
  • 차트 시리즈의 채우기 색상을 설정합니다.
  • 차트 시리즈 레이블을 추가합니다.
  • 프레젠테이션을 PPTX 파일로 저장합니다.

다음 코드 샘플은 C#을 사용하여 프레젠테이션에 차트를 추가하는 방법을 보여줍니다.

// PPTX 파일을 나타내는 프레젠테이션 클래스 인스턴스화
Presentation pres = new Presentation();

// 첫 번째 슬라이드 액세스
ISlide sld = pres.Slides[0];

// 기본 데이터가 있는 차트 추가
IChart chart = sld.Shapes.AddChart(ChartType.ClusteredColumn, 0, 0, 500, 500);

// 차트 제목 설정
// Chart.ChartTitle.TextFrameForOverriding.Text = "샘플 제목";
chart.ChartTitle.AddTextFrameForOverriding("Sample Title");
chart.ChartTitle.TextFrameForOverriding.TextFrameFormat.CenterText = NullableBool.True;
chart.ChartTitle.Height = 20;
chart.HasTitle = true;

// 첫 번째 시리즈를 값 표시로 설정
chart.ChartData.Series[0].Labels.DefaultDataLabelFormat.ShowValue = true;

// 차트 데이터 시트의 인덱스 설정
int defaultWorksheetIndex = 0;

// 차트 데이터 워크시트 가져오기
IChartDataWorkbook fact = chart.ChartData.ChartDataWorkbook;

// 기본 생성 시리즈 및 카테고리 삭제
chart.ChartData.Series.Clear();
chart.ChartData.Categories.Clear();
int s = chart.ChartData.Series.Count;
s = chart.ChartData.Categories.Count;

// 새 시리즈 추가
chart.ChartData.Series.Add(fact.GetCell(defaultWorksheetIndex, 0, 1, "Series 1"), chart.Type);
chart.ChartData.Series.Add(fact.GetCell(defaultWorksheetIndex, 0, 2, "Series 2"), chart.Type);

// 새 카테고리 추가
chart.ChartData.Categories.Add(fact.GetCell(defaultWorksheetIndex, 1, 0, "Caetegoty 1"));
chart.ChartData.Categories.Add(fact.GetCell(defaultWorksheetIndex, 2, 0, "Caetegoty 2"));
chart.ChartData.Categories.Add(fact.GetCell(defaultWorksheetIndex, 3, 0, "Caetegoty 3"));

// 첫 번째 차트 시리즈 가져오기
IChartSeries series = chart.ChartData.Series[0];

// 이제 시리즈 데이터 채우기

series.DataPoints.AddDataPointForBarSeries(fact.GetCell(defaultWorksheetIndex, 1, 1, 20));
series.DataPoints.AddDataPointForBarSeries(fact.GetCell(defaultWorksheetIndex, 2, 1, 50));
series.DataPoints.AddDataPointForBarSeries(fact.GetCell(defaultWorksheetIndex, 3, 1, 30));

// 시리즈의 채우기 색상 설정
series.Format.Fill.FillType = FillType.Solid;
series.Format.Fill.SolidFillColor.Color = Color.Red;


// 두 번째 차트 시리즈 가져오기
series = chart.ChartData.Series[1];

// 이제 시리즈 데이터 채우기
series.DataPoints.AddDataPointForBarSeries(fact.GetCell(defaultWorksheetIndex, 1, 2, 30));
series.DataPoints.AddDataPointForBarSeries(fact.GetCell(defaultWorksheetIndex, 2, 2, 10));
series.DataPoints.AddDataPointForBarSeries(fact.GetCell(defaultWorksheetIndex, 3, 2, 60));

// 시리즈의 채우기 색상 설정
series.Format.Fill.FillType = FillType.Solid;
series.Format.Fill.SolidFillColor.Color = Color.Green;

// 첫 번째 레이블에는 카테고리 이름이 표시됩니다.
IDataLabel lbl = series.DataPoints[0].Label;
lbl.DataLabelFormat.ShowCategoryName = true;

lbl = series.DataPoints[1].Label;
lbl.DataLabelFormat.ShowSeriesName = true;

// 세 번째 레이블의 값 표시
lbl = series.DataPoints[2].Label;
lbl.DataLabelFormat.ShowValue = true;
lbl.DataLabelFormat.ShowSeriesName = true;
lbl.DataLabelFormat.Separator = "/";
            
// 차트로 프레젠테이션 저장
pres.Save("AsposeChart_out.pptx", SaveFormat.Pptx);

프레젠테이션 차트에 대해 자세히 알아보십시오. 여기.

프레젠테이션에 이미지 추가

다음은 프레젠테이션 슬라이드에 이미지를 추가하는 단계입니다.

다음 코드 샘플은 C#에서 프레젠테이션에 이미지를 추가하는 방법을 보여줍니다.

// 프레젠테이션 만들기
using (var p = new Presentation())
{
	// 이미지 읽기
	var svgContent = File.ReadAllText("image.svg");
	
	// 이미지 컬렉션에 이미지 추가
	var emfImage = p.Images.AddFromSvg(svgContent);
	
	// 슬라이드에 이미지 추가
	p.Slides[0].Shapes.AddPictureFrame(ShapeType.Rectangle, 0, 0, emfImage.Width, emfImage.Height, emfImage);
	
	// 프레젠테이션 저장
	p.Save("presentation.pptx", SaveFormat.Pptx);        
}

결론

이 문서에서는 C#을 사용하여 PowerPoint 프레젠테이션을 처음부터 만드는 방법을 배웠습니다. 또한 신규 또는 기존 PPTX 프레젠테이션에 슬라이드, 텍스트, 표, 이미지 및 차트를 추가하는 방법을 살펴보았습니다. 문서를 사용하여 API에 대해 자세히 알아볼 수 있습니다.

또한보십시오

팁: 슬라이드 또는 프레젠테이션 생성 외에도 Aspose.Slides는 프레젠테이션 작업을 수행할 수 있는 많은 기능을 제공합니다. 예를 들어 Aspose는 자체 API를 사용하여 Microsoft PowerPoint 프레젠테이션용 무료 온라인 뷰어를 개발했습니다.