exponenta event banner

Программное обновление содержимого презентации

API PPT можно использовать для программного обновления содержимого в существующей презентации PowerPoint ®.

Создание существующей презентации

Этот пример обновляет содержимое презентации PowerPoint myPresentation. Чтобы создать презентацию, выполните пример в разделе Создание презентации программным способом. Несмотря на то, что вы создаете презентацию программно, после ее создания она будет похожа на любую другую презентацию PowerPoint. Презентация включает четыре слайда:

  • Титульный слайд с заголовком Create Histogram Plots

  • Гистограмма вектора

  • Слайд с заголовком What You Can Do with histogram

  • Параметры функции гистограммы

The generated slides in PowerPoint

Чтобы использовать PPT API для программного обновления содержимого существующей презентации PowerPoint, выполните следующие действия.

  • Настройте презентацию PowerPoint, присвоив имена объектам содержимого, которые требуется заменить. Если требуется добавить новое содержимое, вставьте местозаполнители в презентацию для этого содержимого.

  • В MATLAB ® импортируйте mlreportgen.ppt Пакет PPT API.

  • Создать Presentation объект, использующий существующую презентацию в качестве шаблона для обновленной версии.

  • Замените существующее содержимое слайдов, которое требуется обновить.

  • Добавление слайдов для новых слайдов.

  • Создайте презентацию.

Обновления презентации

В этом примере PPT API используется для внесения этих изменений в myPresentation презентация:

  • Замените рисунок на втором слайде.

  • Замените текст на третьем слайде.

  • Замените таблицу на четвертом слайде.

  • Вставьте новый слайд перед слайдом с графиком.

Вот обновленная презентация:

The second slide is now a description of histogram plots. The plot in the third slide is a histogram with specified bin edges. The fourth slide lists related functions.

Настройка существующей презентации

Программа PPT API использует шаблон PowerPoint для создания презентации. При обновлении существующей презентации PowerPoint программным путем используйте эту презентацию в качестве шаблона для обновленной презентации. Чтобы обновить содержимое в Slide используйте API PPT.

  1. Откройте окно myPresentation презентация. В PowerPoint щелкните Вид > Обычный.

  2. Просмотр имен объектов содержимого на слайдах. На вкладке Главная щелкните Выбрать > Область выбора. При щелчке по содержимому на слайде панель «Выбор» подсвечивает имя объекта содержимого.

    The PowerPoint Normal View with the "Histogram Of Vector" slide selected and the Picture name highlighted in the Selection pane.

  3. Переименование объектов содержимого. На панели «Выбор PowerPoint» щелкните в поле имени содержимого и замените текущее имя нужным именем. Используйте эти уникальные имена для обновления объектов содержимого.

    • На втором слайде измените Title имя объекта для Histogram и Picture имя объекта для HistBins.

    • На третьем слайде измените Title кому RelatedFuncs. Изменение Content кому FuncList.

    • На четвертом слайде измените Table кому ParamTable.

Импорт пакета PPT API

Все имена классов PPT API включают префикс mlreportgen.ppt. Чтобы избежать необходимости включения префикса в код, вставьте эту инструкцию в начало программы PPT API.

import mlreportgen.ppt.*

Примечание

import строка является первой строкой в примерной программе. В этом примере программа PPT API создается в разделах и поэтому не показывает import команда. Чтобы просмотреть полную программу, щелкните myUpdate Программа презентации.

Создать Presentation Объект

Создать Presentation объект. Укажите:

  • myUpdatedPresentation.pptx в качестве выходного файла для созданной презентации.

  • myPresentation.pptx в качестве шаблона PowerPoint. Используйте файл презентации, который требуется обновить, в качестве файла шаблона.

ppt = Presentation('myUpdatedPresentation.pptx','myPresentation.pptx');

Указание другого имени для выходного файла сохраняет исходную презентацию. Если необходимо перезаписать существующую презентацию, можно использовать имя файла шаблона в качестве имени файла вывода.

Заменить рисунок

Измените название второго слайда. Создать Picture объект для замены существующего рисунка. Вы можете использовать find с помощью Presentation объект для поиска объектов содержимого с именем HistBins и Histogram (уникальные имена, указанные с помощью PowerPoint).

histTitle = Paragraph('Histogram with Specified Bin Edges');
replace(ppt,'Histogram',histTitle);

x = randn(1000,1);
edges = [-10 -2:0.25:2 10];
h = histogram(x,edges);
saveas(gcf,'hist_plot.png');

plotEdges = Picture('hist_plot.png');

replace(ppt,'HistBins',plotEdges);

Заменить текст ссылками

Измените название третьего слайда. Создание текста для замены существующего текста. Текст содержит ссылки на онлайн-документацию MathWorks ®. ПриложитьExternalLink объекты в Paragraph и замените содержимое слайда с помощью массива ячеек Paragraph объекты.

funcsTitle = Paragraph('Related Functions');
replace(ppt,'RelatedFuncs',funcsTitle);

histCounts = Paragraph();
histCountsLink = ExternalLink...
('https://www.mathworks.com/help/matlab/ref/histcounts.html','histcounts');
append(histCounts,histCountsLink);

fewerbins = Paragraph();
fewerbinsLink = ExternalLink...
('https://www.mathworks.com/help/matlab/ref/matlab.graphics.chart.primitive.histogram.fewerbins.html','fewerbins');
append(fewerbins,fewerbinsLink);

replace(ppt,'FuncList',{histCounts,fewerbins});

Заменить таблицу

Чтобы создать таблицу, создайте Table объект. В Table можно указать массив ячеек значений для ячеек таблицы. Чтобы получить полужирный текст для верхней строки, включите Paragraph объекты в качестве первых трех элементов массива ячеек. Затем замените таблицу.

long = Paragraph('Long Name');
long.Bold = true;
short = Paragraph('Short Name');
short.Bold = true;
rgb = Paragraph('RGB triplet');
rgb.Bold = true;

table2 = Table({long,short,rgb;'yellow','y','[1 1 0]';'green','g','[1 0 1] '});

contents = find(ppt,'ParamTable');
replace(ppt,'ParamTable',table2);

Вставка нового слайда

Можно использовать PPT API для вставки нового слайда в существующую презентацию и указать числовое расположение слайда. Например, этот код делает новый слайд пятым слайдом в презентации.

newSlide = add(ppt,'Title and Content',5);

Однако, чтобы слайд предшествовал определенному слайду, даже если позже добавляются или удаляются другие слайды, можно указать ссылочный слайд. Чтобы использовать этот подход при обновлении существующей презентации PowerPoint, используйте PPT API для присвоения имени эталонному слайду. При вставке нового слайда используйте имя ссылочного слайда.

ppt.Children(2).Name = 'ReferenceSlide';

refSlide = find(ppt,'ReferenceSlide');
introSlide = add(ppt,'Title and Content',refSlide);

contents = find(introSlide,'Title');
replace(contents(1),'Histogram Plots');

introText = Paragraph('You can use the ');
code = Text('histogram');
code.Font = 'Courier New';
append(introText,code);
append(introText,'  function to create many types of plots.');

contents = find(introSlide,'Content');
replace(contents(1),introText);

Создание и просмотр презентации

Создайте презентацию PowerPoint. Использовать close метод с помощью Presentation объект. Просмотр презентации.

close(ppt);
rptview(ppt);

Код для myUpdatedPresentation

Вот полная программа PPT API для создания myUpdatedPresentation презентация.

Примечание

Этот код требует, чтобы myPresentation.pptx находиться в текущей папке. Чтобы создать эту презентацию, выполните пример в разделе Создание презентации программным способом. Перед запуском кода для myUpdatedPresentation, убедитесь, что существующая презентация включает изменения, описанные в разделе Настройка существующей презентации.

import mlreportgen.ppt.*;

ppt = Presentation('myUpdatedPresentation.pptx','myPresentation.pptx');

histTitle = Paragraph('Histogram with Specified Bin Edges');
replace(ppt,'Histogram',histTitle);

x = randn(1000,1);
edges = [-10 -2:0.25:2 10];
h = histogram(x,edges);
saveas(gcf,'hist_plot.png');

plotEdges = Picture('hist_plot.png');

replace(ppt,'HistBins',plotEdges)

funcsTitle = Paragraph('Related Functions');
replace(ppt,'RelatedFuncs',funcsTitle);

histCounts = Paragraph();
histCountsLink = ExternalLink...
('https://www.mathworks.com/help/matlab/ref/histcounts.html','histcounts');
append(histCounts,histCountsLink);

fewerbins = Paragraph();
fewerbinsLink = ExternalLink...
('https://www.mathworks.com/help/matlab/ref/matlab.graphics.chart.primitive.histogram.fewerbins.html','fewerbins');
append(fewerbins,fewerbinsLink);

replace(ppt,'FuncList',{histCounts,fewerbins});

long = Paragraph('Long Name');
long.Bold = true;
short = Paragraph('Short Name');
short.Bold = true;
rgb = Paragraph('RGB triplet');
rgb.Bold = true;

table2 = Table({long,short,rgb;'yellow','y','[1 1 0]'; 'green', 'g','[1 0 1] '});

contents = find(ppt,'ParamTable');
replace(ppt,'ParamTable',table2);


ppt.Children(2).Name = 'ReferenceSlide';

refSlide = find(ppt,'ReferenceSlide');
introSlide = add(ppt,'Title and Content',refSlide(1));

contents = find(introSlide,'Title');
replace(contents(1),'Histogram Plots');

introText = Paragraph('You can use the ');
code = Text('histogram ');
code.Style = {FontFamily('Courier New')};
append(introText,code);
append(introText,'function to create many types of plots.');

contents = find(introSlide,'Content');
replace(contents(1),introText);

close(ppt);
rptview(ppt);

Связанные темы