צור מצגות Powerpoint C++

MS PowerPoint הוא יישום עשיר בתכונות המאפשר לך ליצור מצגות מושכות עם טקסט, גרפיקה, אנימציות, תרשימים ועוד כמה אלמנטים. בפוסט זה תלמדו כיצד ליישם את תכונות האוטומציה הבסיסיות של PowerPoint בתוך יישומי C++. במיוחד, תלמדו לדעת כיצד ליצור מצגות PowerPoint ולהוסיף טקסט, תמונות, תרשימים וטבלאות לשקופיות באמצעות C++.

C++ PowerPoint API

Aspose.Slides for C++ נועד להפוך את תכונות המניפולציה של מצגות PowerPoint לאוטומטיות בתוך יישומי C++. באמצעות ה-API, אתה יכול ליצור, לערוך או להמיר את מצגות PowerPoint בצורה חלקה. אתה יכול להוריד את החבילה המלאה של קבצי ה-API או לקבל אותה מ-NuGet.

צור מצגת PowerPoint ב-C++

נתחיל ביצירת מצגת PowerPoint ריקה באמצעות Aspose.Slides עבור C++. להלן השלבים לביצוע פעולה זו.

דוגמת הקוד הבאה מראה כיצד ליצור מצגת PowerPoint באמצעות C++.

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

	//מחלקה Instantiate Presentation המייצגת קובץ PPTX
	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:

דוגמת הקוד הבאה מראה כיצד להוסיף שקופיות למצגת PowerPoint באמצעות C++.

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

	// מחלקה Instantiate Presentation המייצגת את קובץ המצגת
	SharedPtr<Presentation> pres = MakeObject<Presentation>();

	// הצג שיחות SlideCollection
	SharedPtr<ISlideCollection> slds = pres->get_Slides();

	for (int i = 0; i < pres->get_LayoutSlides()->get_Count(); i++)
	{
		// הוסף שקופית ריקה לאוסף Slides
		slds->AddEmptySlide(pres->get_LayoutSlides()->idx_get(i));

	}

	// שמור את קובץ ה-PPTX בדיסק
	pres->Save(outPath, Aspose::Slides::Export::SaveFormat::Pptx);

למידע נוסף על מניפולציה של שקופיות, בקר בכתובת הוספה, עיצוב ומניפולציה של שקופיות.

הוסף טקסט לשקופית PowerPoint באמצעות C++

כעת, בואו נוסיף טקסט לשקופית במצגת PowerPoint. לשם כך, עליך להכניס תיבת טקסט לשקופית. להלן השלבים לביצוע פעולה זו.

דוגמת הקוד הבאה מראה כיצד להוסיף טקסט לשקופיות במצגת PowerPoint באמצעות C++.

// הנתיב לספריית המסמכים.
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();

// צור את אובייקט הפסקה עבור מסגרת טקסט
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++

להלן השלבים להוספת טבלה בשקופית של מצגת PowerPoint באמצעות Aspose.Slides עבור C++.

  • צור מופע של מחלקה Presentation.
  • השג את ההפניה של שקופית לאובייקט ISlide.
  • הגדר מערכים של עמודות ושורות על ידי מתן הרוחב.
  • הוסף טבלה לשקופית באמצעות השיטה ISlide->getShapes()->AddTable().
  • חזור על כל תא כדי להחיל עיצוב על הגבול העליון, התחתון, הימני והשמאלי.
  • מיזוג תאים במידת הצורך.
  • גש למסגרת הטקסט של תא כדי להוסיף קצת טקסט.
  • שמור את המצגת כקובץ PPTX.

דוגמת הקוד הבאה מראה כיצד ליצור טבלה במצגת PowerPoint באמצעות C++.

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 עבור C++ תומך בסוגים שונים של תרשימים כגון תרשימים מפוזרים, מפת עצים, היסטוגרמה ו-וכו. להדגמה, בואו ניצור תרשים רגיל. להלן השלבים לביצוע פעולה זו.

  • צור מופע של המחלקה Presentation.
  • השג את ההפניה לשקופית שבה ברצונך להוסיף את התרשים.
  • הוסף תרשים עם נתוני ברירת מחדל יחד עם הסוג הרצוי באמצעות שיטת ISlide->getShapes()->AddChart().
  • קבל את ההפניה של התרשים באובייקט IChart.
  • נקה את נתוני התרשים והוסף סדרות וקטגוריות חדשות.
  • הוסף נתוני תרשימים חדשים עבור סדרות תרשימים.
  • הגדר צבע מילוי עבור סדרת תרשימים.
  • הוסף תוויות של סדרת תרשימים.
  • שמור את המצגת כקובץ PPTX.

דוגמת הקוד הבאה מראה כיצד להוסיף תרשים במצגת PowerPoint באמצעות C++.

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

	//מחלקה Instantiate Presentation המייצגת קובץ 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);

למידע נוסף על מניפולציה של תרשימים מ-הוספה, עיצוב ומניפולציה של תרשימים.

פתח מצגת PowerPoint ב-C++

ניתן גם לפתוח מצגת PowerPoint קיימת על מנת לערוך את התוכן. לשם כך, תוכל לבצע את השלבים הבאים:

דוגמת הקוד הבאה מראה כיצד לפתוח מצגת PowerPoint קיימת באמצעות C++.

// הנתיב לספריית המסמכים
const String templatePath = u"../templates/AccessSlides.pptx";

// מחלקה Instantiate Presentation המייצגת קובץ PPTX
SharedPtr<Presentation> pres = MakeObject<Presentation>(templatePath);

// הדפסת ספירת שקופיות
printf("Total slides inside presentation are : %d\n", pres->get_Slides()->get_Count());

קבל רישיון חינם

אתה יכול לקבל רישיון זמני בחינם כדי לנסות את ה-API ללא מגבלות הערכה.

סיכום

במאמר זה, למדת כיצד ליצור מצגות PowerPoint מתוך יישומי C++. המדריך שלב אחר שלב ודוגמאות קוד יחד עם הפניות ל-API הראו כיצד ליצור מצגת מאפס ולהכניס אליה שקופיות, טקסט, טבלאות ותרשימים. אתה יכול לחקור עוד על ה-API באמצעות תיעוד.

ראה גם