MS PowerPoint — це багатофункціональна програма, яка дозволяє створювати привабливі презентації з текстом, графікою, анімацією, діаграмами та кількома іншими елементами. У цій публікації ви дізнаєтеся, як реалізувати основні функції автоматизації PowerPoint у програмах C++. Зокрема, ви дізнаєтеся, як створювати презентації PowerPoint і додавати текст, зображення, діаграми та таблиці до слайдів за допомогою C++.
- C++ PowerPoint API
- Створіть презентацію PowerPoint мовою C++
- Додавання слайдів до презентації
- Додайте текст до слайда PowerPoint
- Створення таблиці в презентації
- Створення діаграми в презентації
- Відкрийте наявну презентацію PowerPoint
- Отримайте безкоштовну ліцензію
C++ PowerPoint API
Aspose.Slides for C++ розроблено для автоматизації функцій обробки презентацій PowerPoint у програмах C++. Використовуючи API, ви можете легко створювати, редагувати або конвертувати презентації PowerPoint. Ви можете завантажити повний пакет файлів API або отримати його з NuGet.
Створіть презентацію PowerPoint мовою C++
Почнемо зі створення порожньої презентації PowerPoint за допомогою Aspose.Slides for C++. Нижче наведено кроки для виконання цієї операції.
- Створіть об’єкт класу Presentation.
- Збережіть презентацію за допомогою методу Presentation->Save(String, SaveFormat::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/SampleChartresult.pptx";
//Екземпляр класу презентації, який представляє файл 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.
- Створіть об’єкт класу Presentation.
- Отримайте слайди в об’єкті ISlideCollection за допомогою методу Presentation->getSlides().
- Додайте слайд за допомогою методу ISlideCollection->AddEmptySlide().
- Збережіть презентацію за допомогою методу Presentation->Save(String, SaveFormat::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"../templates/AddSlides.pptx";
// Клас Instantiate Presentation, який представляє файл презентації
SharedPtr<Presentation> pres = MakeObject<Presentation>();
// Створення екземпляра SlideCollection calss
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);
Щоб дізнатися більше про маніпулювання слайдами, відвідайте Додавання, форматування та маніпулювання слайдами.
Додайте текст до слайда PowerPoint за допомогою C++
Тепер давайте додамо текст до слайда презентації PowerPoint. Для цього вам потрібно вставити текстове поле на слайд. Нижче наведено кроки для виконання цієї операції.
- Створіть нову презентацію або завантажте наявну за допомогою класу Presentation.
- Отримайте посилання на слайд в об’єкт ISlide за допомогою методу Presentation->getSlides()->idxget(int).
- Додайте прямокутник до слайда за допомогою методу ISlide->getShapes()->AddAutoShape(ShapeType::Rectangle, int, int, int, int) і отримайте його посилання в об’єкті IAutoShape.
- Додайте текстовий фрейм за допомогою методу IAutoShape->AddTextFrame(u" “).
- Отримайте текстовий фрейм за допомогою IAutoShape->getTextFrame() в об’єкт ITextFrame.
- Отримати абзац за допомогою ITextFrame->getParagraphs()->idxget(0) в об’єкт IParagraph.
- Доступ до частини абзацу за допомогою IParagraph->getPortions()->idxget(0) в об’єкт IPortion.
- Встановіть текст за допомогою методу IPortion->setText(u"Aspose TextBox”).
- Збережіть презентацію за допомогою методу Presentation->Save(String, SaveFormat::Pptx).
У наведеному нижче прикладі коду показано, як додати текст до слайдів у презентації 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();
// Створіть об’єкт 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++
Нижче наведено кроки, щоб додати таблицю до слайда презентації PowerPoint за допомогою Aspose.Slides for 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 for C++ підтримує різні типи діаграм, як-от розсіяні, деревоподібні, гістограми тощо 31. Для демонстрації створимо звичайну діаграму. Нижче наведено кроки для виконання цієї операції.
- Створіть екземпляр класу 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";
//Екземпляр класу презентації, який представляє файл 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, щоб редагувати вміст. Для цього ви можете виконати наведені нижче дії.
- Завантажте файл PPTX за допомогою класу Presentation, вказавши назву файлу.
- Актуалізація змісту презентації.
- Збережіть оновлений файл за допомогою методу Presentation->Save(String, SaveFormat).
У наведеному нижче прикладі коду показано, як відкрити існуючу презентацію PowerPoint за допомогою C++.
// Шлях до каталогу документів
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 без оціночних обмежень.
Висновок
У цій статті ви дізналися, як створювати презентації PowerPoint із програм C++. У покроковому посібнику та прикладах коду разом із посиланнями на API показано, як створити презентацію з нуля та вставити в неї слайди, текст, таблиці та діаграми. Ви можете дізнатися більше про API, використовуючи документацію.