파워포인트 프레젠테이션 만들기 C++

MS PowerPoint는 텍스트, 그래픽, 애니메이션, 차트 및 기타 여러 요소가 포함된 매력적인 프레젠테이션을 만들 수 있는 기능이 풍부한 응용 프로그램입니다. 이 게시물에서는 C++ 응용 프로그램 내에서 기본 PowerPoint 자동화 기능을 구현하는 방법을 배웁니다. 특히 C++를 사용하여 PowerPoint 프레젠테이션을 만들고 슬라이드에 텍스트, 이미지, 차트 및 표를 추가하는 방법을 알게 됩니다.

C++ 파워포인트 API

Aspose.Slides for C++은 C++ 응용 프로그램 내에서 PowerPoint 프레젠테이션 조작 기능을 자동화하도록 설계되었습니다. API를 사용하여 PowerPoint 프레젠테이션을 원활하게 생성, 편집 또는 변환할 수 있습니다. API 파일의 전체 패키지를 다운로드하거나 NuGet에서 가져올 수 있습니다.

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

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

다음 코드 샘플은 C++를 사용하여 PowerPoint 프레젠테이션을 만드는 방법을 보여줍니다.

For complete examples and data files, please go to https://github.com/aspose-slides/Aspose.Slides-for-C

	// 문서 디렉토리의 경로입니다.
	const String outPath = u"../out/SampleChartresult.pptx";

	//PPTX 파일을 나타내는 Presentation 클래스 인스턴스화
	SharedPtr<Presentation> pres = MakeObject<Presentation>();
	
	SharedPtr<ISlide> slide = pres->get_Slides()->idx_get(0);

	// 유형 라인의 자동 모양 추가
	slide->get_Shapes()->AddAutoShape(Aspose::Slides::ShapeType::Line, 50.0, 150.0, 300.0, 0.0);
	
	//프레젠테이션 저장 중
	pres->Save(outPath, Aspose::Slides::Export::SaveFormat::Pptx);

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

PowerPoint 프레젠테이션을 만든 후에는 슬라이드를 삽입할 수 있습니다. 다음은 PowerPoint 프레젠테이션에 슬라이드를 추가하는 단계입니다.

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

For complete examples and data files, please go to https://github.com/aspose-slides/Aspose.Slides-for-C

	// 문서 디렉토리의 경로입니다.
	const String outPath = u"../templates/AddSlides.pptx";

	// 프레젠테이션 파일을 나타내는 프레젠테이션 클래스를 인스턴스화합니다.
	SharedPtr<Presentation> pres = MakeObject<Presentation>();

	// SlideCollection 호출 인스턴스화
	SharedPtr<ISlideCollection> slds = pres->get_Slides();

	for (int i = 0; i < pres->get_LayoutSlides()->get_Count(); i++)
	{
		// 슬라이드 컬렉션에 빈 슬라이드 추가
		slds->AddEmptySlide(pres->get_LayoutSlides()->idx_get(i));

	}

	// PPTX 파일을 디스크에 저장
	pres->Save(outPath, Aspose::Slides::Export::SaveFormat::Pptx);

슬라이드 조작에 대한 자세한 내용은 슬라이드 추가, 서식 지정 및 조작을 참조하십시오.

C++를 사용하여 PowerPoint 슬라이드에 텍스트 추가

이제 PowerPoint 프레젠테이션의 슬라이드에 텍스트를 추가해 보겠습니다. 이를 위해 슬라이드에 텍스트 상자를 삽입해야 합니다. 다음은 이 작업을 수행하는 단계입니다.

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

// 문서 디렉토리의 경로입니다.
const String outPath = u"../out/TextBoxOnSlideProgram_out.pptx";
const String templatePath = u"../templates/DefaultFonts_out.pptx";

// 원하는 프레젠테이션 로드
SharedPtr<Presentation> pres = MakeObject<Presentation>();

// 첫 번째 슬라이드 액세스
SharedPtr<ISlide> sld = pres->get_Slides()->idx_get(0);

// 직사각형 유형의 도형 추가
SharedPtr<IAutoShape>  ashp = sld->get_Shapes()->AddAutoShape(ShapeType::Rectangle, 150, 75, 150, 50);

// 사각형에 TextFrame 추가
ashp->AddTextFrame(u" ");

// 텍스트 프레임 액세스
SharedPtr<ITextFrame>  txtFrame = ashp->get_TextFrame();

// 텍스트 프레임용 Paragraph 개체 만들기
SharedPtr<IParagraph> paragraph = txtFrame->get_Paragraphs()->idx_get(0);

// 단락에 대한 부분 개체 만들기
SharedPtr<IPortion> portion = paragraph->get_Portions()->idx_get(0);
portion->set_Text(u"Aspose TextBox");
	
// PPTX를 디스크에 저장
pres->Save(outPath, Aspose::Slides::Export::SaveFormat::Pptx);

프레젠테이션에서 텍스트 조작에 대한 자세한 내용은 텍스트 추가, 서식 지정 및 조작을 참조하십시오.

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

다음은 Aspose.Slides for C++를 사용하여 PowerPoint 프레젠테이션의 슬라이드에 표를 추가하는 단계입니다.

  • Presentation 클래스의 인스턴스를 만듭니다.
  • ISlide 개체에 대한 슬라이드의 참조를 얻습니다.
  • 너비를 제공하여 열 및 행 배열을 정의합니다.
  • ISlide->getShapes()->AddTable() 메서드를 사용하여 슬라이드에 테이블을 추가합니다.
  • 각 셀을 반복하여 위쪽, 아래쪽, 오른쪽 및 왼쪽 테두리에 서식을 적용합니다.
  • 필요한 경우 셀을 병합합니다.
  • 일부 텍스트를 추가하려면 셀의 텍스트 프레임에 액세스합니다.
  • 프레젠테이션을 PPTX 파일로 저장합니다.

다음 코드 샘플은 C++를 사용하여 PowerPoint 프레젠테이션에서 테이블을 만드는 방법을 보여줍니다.

For complete examples and data files, please go to https://github.com/aspose-slides/Aspose.Slides-for-C
// 문서 디렉토리의 경로입니다.
const String outPath = u"../out/TableFromScratch_out.pptx";

// 원하는 프레젠테이션 로드
SharedPtr<Presentation> pres = MakeObject<Presentation>();

// 첫 번째 슬라이드 액세스
SharedPtr<ISlide> islide = pres->get_Slides()->idx_get(0);

// 너비가 있는 열과 높이가 있는 행 정의
System::ArrayPtr<double> dblCols = System::MakeObject<System::Array<double>>(4, 70);
System::ArrayPtr<double> dblRows = System::MakeObject<System::Array<double>>(4, 70);

// 슬라이드에 표 모양 추가
SharedPtr<ITable> table = islide->get_Shapes()->AddTable(100, 50, dblCols, dblRows);


// 각 셀의 테두리 형식 설정
for (int x = 0; x < table->get_Rows()->get_Count(); x++)
{
	SharedPtr<IRow> row = table->get_Rows()->idx_get(x);
	for (int y = 0; y < row->get_Count(); y++)
	{
		SharedPtr<ICell> cell = row->idx_get(y);

		cell->get_BorderTop()->get_FillFormat()->set_FillType(FillType::Solid);
		cell->get_BorderTop()->get_FillFormat()->get_SolidFillColor()->set_Color(System::Drawing::Color::get_Red());
		cell->get_BorderTop()->set_Width(5);

		cell->get_BorderBottom()->get_FillFormat()->set_FillType(FillType::Solid);
		cell->get_BorderBottom()->get_FillFormat()->get_SolidFillColor()->set_Color(System::Drawing::Color::get_Red());
		cell->get_BorderBottom()->set_Width(5);

		cell->get_BorderLeft()->get_FillFormat()->set_FillType(FillType::Solid);
		cell->get_BorderLeft()->get_FillFormat()->get_SolidFillColor()->set_Color(System::Drawing::Color::get_Red());
		cell->get_BorderLeft()->set_Width(5);

		cell->get_BorderRight()->get_FillFormat()->set_FillType(FillType::Solid);
		cell->get_BorderRight()->get_FillFormat()->get_SolidFillColor()->set_Color(System::Drawing::Color::get_Red());
		cell->get_BorderRight()->set_Width(5);

	}

}

// 셀 병합 (1, 1) x (2, 1)
table->MergeCells(table->idx_get(1, 1), table->idx_get(2, 1), false);

// 셀 병합 (1, 2) x (2, 2)
table->MergeCells(table->idx_get(1, 2), table->idx_get(2, 2), false);


// PPTX를 디스크에 저장
pres->Save(outPath, Aspose::Slides::Export::SaveFormat::Pptx);

테이블 조작에 대한 자세한 내용은 테이블 추가, 업데이트 및 조작을 참조하십시오.

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

Aspose.Slides for C++는 분산형, 트리맵, 히스토그램 및 etc과 같은 다양한 유형의 차트를 지원합니다. 데모를 위해 일반 차트를 만들어 보겠습니다. 다음은 이 작업을 수행하는 단계입니다.

  • Presentation 클래스의 인스턴스를 만듭니다.
  • 차트를 추가할 슬라이드의 참조를 가져옵니다.
  • ISlide->getShapes()->AddChart() 메서드를 사용하여 기본 데이터와 원하는 유형의 차트를 추가합니다.
  • IChart 개체에서 차트의 참조를 가져옵니다.
  • 차트 데이터를 지우고 새 시리즈 및 범주를 추가합니다.
  • 차트 시리즈에 대한 새 차트 데이터를 추가합니다.
  • 차트 시리즈의 채우기 색상을 설정합니다.
  • 차트 시리즈 레이블을 추가합니다.
  • 프레젠테이션을 PPTX 파일로 저장합니다.

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

For complete examples and data files, please go to https://github.com/aspose-slides/Aspose.Slides-for-C

	// 문서 디렉토리의 경로입니다.
	const String outPath = u"../out/NormalCharts_out.pptx";

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

	//첫 번째 슬라이드 액세스
	SharedPtr<ISlide> slide = pres->get_Slides()->idx_get(0);

	// 기본 데이터가 있는 차트 추가
	SharedPtr<IChart> chart = slide->get_Shapes()->AddChart(Aspose::Slides::Charts::ChartType::ClusteredColumn, 0, 0, 500, 500);


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

	// 차트 데이터 워크시트 가져오기
	SharedPtr<IChartDataWorkbook> fact = chart->get_ChartData()->get_ChartDataWorkbook();

	// 차트 제목 설정
	chart->get_ChartTitle()->AddTextFrameForOverriding(u"Sample Title");
	chart->get_ChartTitle()->get_TextFrameForOverriding()->get_TextFrameFormat()->set_CenterText ( NullableBool::True);
	chart->get_ChartTitle()->set_Height(20);
	chart->set_HasTitle( true);

	// 기본 생성 시리즈 및 카테고리 삭제
	chart->get_ChartData()->get_Series()->Clear();
	chart->get_ChartData()->get_Categories()->Clear();
	int s = chart->get_ChartData()->get_Series()->get_Count();
	s = chart->get_ChartData()->get_Categories()->get_Count();


	// 이제 새 시리즈 추가
	chart->get_ChartData()->get_Series()->Add(fact->GetCell(defaultWorksheetIndex, 0, 1, ObjectExt::Box<System::String>(u"Series 1")), chart->get_Type());
	chart->get_ChartData()->get_Series()->Add(fact->GetCell(defaultWorksheetIndex, 0, 2, ObjectExt::Box<System::String>(u"Series 2")), chart->get_Type());

	// 카테고리 추가
	chart->get_ChartData()->get_Categories()->Add(fact->GetCell(defaultWorksheetIndex, 1, 0, ObjectExt::Box<System::String>(u"Caetegoty 1")));
	chart->get_ChartData()->get_Categories()->Add(fact->GetCell(defaultWorksheetIndex, 2, 0, ObjectExt::Box<System::String>(u"Caetegoty 2")));
	chart->get_ChartData()->get_Categories()->Add(fact->GetCell(defaultWorksheetIndex, 3, 0, ObjectExt::Box<System::String>(u"Caetegoty 3")));

	
	// 첫 번째 차트 시리즈 가져오기
	SharedPtr<IChartSeries> series = chart->get_ChartData()->get_Series()->idx_get(0);

	// 이제 시리즈 데이터 채우기
	series->get_DataPoints()->AddDataPointForBarSeries(fact->GetCell(defaultWorksheetIndex, 1, 1, ObjectExt::Box<double>(20)));
	series->get_DataPoints()->AddDataPointForBarSeries(fact->GetCell(defaultWorksheetIndex, 2, 1, ObjectExt::Box<double>(50)));
	series->get_DataPoints()->AddDataPointForBarSeries(fact->GetCell(defaultWorksheetIndex, 3, 1, ObjectExt::Box<double>(30)));

	// 시리즈의 채우기 색상 설정
	series->get_Format()->get_Fill()->set_FillType(FillType::Solid);
	series->get_Format()->get_Fill()->get_SolidFillColor()->set_Color(System::Drawing::Color::get_Red());


	// 두 번째 차트 시리즈 가져오기
	 series = chart->get_ChartData()->get_Series()->idx_get(1);

	// 이제 시리즈 데이터 채우기
	series->get_DataPoints()->AddDataPointForBarSeries(fact->GetCell(defaultWorksheetIndex, 1, 2, ObjectExt::Box<double>(30)));
	series->get_DataPoints()->AddDataPointForBarSeries(fact->GetCell(defaultWorksheetIndex, 2, 2, ObjectExt::Box<double>(10)));
	series->get_DataPoints()->AddDataPointForBarSeries(fact->GetCell(defaultWorksheetIndex, 3, 2, ObjectExt::Box<double>(60)));

	// 시리즈의 채우기 색상 설정
	series->get_Format()->get_Fill()->set_FillType(FillType::Solid);
	series->get_Format()->get_Fill()->get_SolidFillColor()->set_Color(System::Drawing::Color::get_Green());


	// 첫 번째 레이블에는 카테고리 이름이 표시됩니다.
	SharedPtr<IDataLabel> lbl = series->get_DataPoints()->idx_get(0)->get_Label();
	lbl->get_DataLabelFormat()->set_ShowCategoryName(true);

	lbl = series->get_DataPoints()->idx_get(1)->get_Label();
	lbl->get_DataLabelFormat()->set_ShowSeriesName (true);

	// 세 번째 레이블의 값 표시
	lbl = series->get_DataPoints()->idx_get(2)->get_Label();
	lbl->get_DataLabelFormat()->set_ShowValue (true);
	lbl->get_DataLabelFormat()->set_ShowSeriesName(true);
	lbl->get_DataLabelFormat()->set_Separator (u"/");

	// 프레젠테이션 파일을 디스크에 쓰기
	pres->Save(outPath, Aspose::Slides::Export::SaveFormat::Pptx);

차트 추가, 서식 지정 및 조작에서 차트 조작에 대해 자세히 알아보십시오.

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

콘텐츠를 편집하기 위해 기존 PowerPoint 프레젠테이션을 열 수도 있습니다. 이를 위해 다음 단계를 수행할 수 있습니다.

  • Presentation 클래스를 사용하여 파일 이름을 제공하여 PPTX 파일을 로드합니다.
  • 프레젠테이션의 내용을 업데이트합니다.
  • Presentation->Save(String, SaveFormat) 메서드를 사용하여 업데이트된 파일을 저장합니다.

다음 코드 샘플은 C++를 사용하여 기존 PowerPoint 프레젠테이션을 여는 방법을 보여줍니다.

// 문서 디렉토리 경로
const String templatePath = u"../templates/AccessSlides.pptx";

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

// 슬라이드 수 인쇄
printf("Total slides inside presentation are : %d\n", pres->get_Slides()->get_Count());

무료 라이선스 받기

평가 제한 없이 API를 사용해 보려면 무료 임시 라이선스를 얻으십시오.

결론

이 기사에서는 C++ 응용 프로그램 내에서 PowerPoint 프레젠테이션을 만드는 방법을 배웠습니다. API 참조와 함께 단계별 가이드 및 코드 샘플은 프레젠테이션을 처음부터 만들고 슬라이드, 텍스트, 표 및 차트를 삽입하는 방법을 보여줍니다. 문서를 사용하여 API에 대해 자세히 알아볼 수 있습니다.

또한보십시오