Создайте презентацию программно

В этом примере показано, как создать презентацию PowerPoint ® с помощью MATLAB ® API для PowerPoint (PPT API). Пример генерирует следующие слайды:

Чтобы программно создать презентацию:

  1. Импортируйте пакет PPT API.

  2. Создайте контейнер презентации.

  3. Добавить слайды.

  4. Добавьте содержимое к слайдам.

  5. Сгенерируйте презентацию.

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

Классы PPT API принадлежат mlreportgen.ppt пакет. Импортируйте этот пакет так, чтобы вы не включали имя пакета при вызове конструкторов и методов объектов PPT API.

import mlreportgen.ppt.*

Создайте контейнер презентации

Создайте mlreportgen.ppt.Presentation объект, содержащий презентацию. В данном примере укажите, что имя выходного файла myPresentation и не указывать шаблон.

ppt = Presentation('myPresentation.pptx');

Поскольку шаблон не задан, PPT API использует шаблон по умолчанию. Шаблон определяет размещения и стили слайдов по умолчанию. Для создания пользовательского шаблона см. раздел Настройка шаблона презентации PowerPoint. Стиль по умолчанию, заданный шаблоном, можно переопределить с помощью свойств формата и объектов. Смотрите Подходы к форматированию презентаций.

Добавление слайдов и содержимого слайдов

Чтобы добавить слайд, используйте add и укажите размещение слайда, доступный в шаблоне. См. раздел Настройка шаблона презентации PowerPoint. В этом примере используются следующие размещения слайдов, которые включены в шаблон по умолчанию:

  • Title Slide

  • Title and Picture

  • Title and Content

  • Title and Table

Чтобы добавить содержимое на слайд, используйте replace метод для замены заполнителей содержимого новым содержимым. Дополнительные сведения о добавлении и замене содержимого см. в разделе Добавление и замена содержимого презентации. Чтобы использовать replace метод, необходимо указать имя, которое идентифицирует местозаполнитель в размещении слайда. Для примера, Title Slide размещение имеет Title заполнитель и Subtitle заполнитель. Дополнительные сведения о том, как найти имена заполнителей содержимого для определенного размещения слайда, см. в разделе Доступ к элементам шаблона PowerPoint.

Добавление слайда заголовка

Чтобы добавить слайд заголовка, используйте Title Slide размещение.

titleSlide = add(ppt,'Title Slide');

The Title Slide размещение имеет следующие заполнители:

  • Title

  • Subtitle

Замените Title заполнитель с текстом заголовка.

replace(titleSlide,'Title','Create Histogram Plots');

Создайте текст заголовка в частях, чтобы вы могли форматировать histogram имя функции другим шрифтом.

subtitleText = Paragraph('The ');
funcName = Text('histogram');
funcName.Font = 'Courier New';

append(subtitleText,funcName);
append(subtitleText,' Function');

Замените Subtitle заполнитель с текстом, содержащимся в SubtitleText.

replace(titleSlide,'Subtitle',subtitleText);

Добавление слайда с изображением

Создайте файл изображений для использования на слайде.

x = randn(10000,1);
h = histogram(x);
saveas(gcf,'myPlot_img.png');

Создайте mlreportgen.ppt.Picture объект из файла изображения.

plot1 = Picture('myPlot_img.png');

Добавьте слайд изображения к презентации с помощью Title and Picture размещение.

pictureSlide = add(ppt,'Title and Picture');

The Title and Picture размещение имеет следующие заполнители:

  • Title

  • Picture

Замените Title заполнитель с текстом заголовка и Picture заполнитель с plot1.

replace(pictureSlide,'Title','Histogram of Vector');
replace(pictureSlide,'Picture',plot1);

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

Добавление слайда с текстом

Чтобы добавить слайд с текстом, используйте Title and Content размещение.

textSlide = add(ppt,'Title and Content');

The Title and Content размещение имеет следующие заполнители:

  • Title

  • Content

Создайте текст заголовка в частях, чтобы вы могли форматировать histogram имя функции другим шрифтом.

titleText = Paragraph('What You Can Do with ');
func = Text('histogram');
func.Font = 'Courier New';
append(titleText,func);

Замените Title и Content заполнители.

replace(textSlide,'Title',titleText);
replace(textSlide,'Content',{'Create histogram plot of x',...
'Specify:',{'Number of bins','Edges of the bins'},...
'Plot into a specified axes'});

Добавление слайда с таблицей

Чтобы добавить слайд с таблицей, используйте Title and Table размещение.

tableSlide = add(ppt,'Title and Table');

The Title and Table размещение имеет следующие заполнители:

  • Title

  • Table

Замените Title заполнитель.

replace(tableSlide,'Title','Parameters');

Для создания таблицы можно использовать несколько подходов. См. раздел Создание и форматирование таблиц. В этом примере строка таблицы строка за строкой.

  1. Составьте таблицу как mlreportgen.ppt.Table объект.

  2. Создайте mlreportgen.ppt.TableRow объект для каждой строки таблицы.

  3. Создание mlreportgen.ppt.TableEntry объекты и добавить их к строкам таблицы.

paramTable = Table();
colSpecs(2) = ColSpec('6in');
colSpecs(1) = ColSpec('3in');
paramTable.ColSpecs = colSpecs;

tr1 = TableRow();
tr1.Style = {Bold(true)};

tr1te1Text = Paragraph('Value');
tr1te2Text = Paragraph('Description');
tr1te1 = TableEntry();
tr1te2 = TableEntry();
append(tr1te1,tr1te1Text);
append(tr1te2,tr1te2Text);
append(tr1,tr1te1);
append(tr1,tr1te2);

tr2 = TableRow();
tr2te1Text = Paragraph('auto');
tr2te1Text.Font = 'Courier New';
tr2te2Text = Paragraph('The default auto algorithm chooses a bin width to ');
append(tr2te2Text,'cover the data range and reveal the shape of the distribution.');
tr2te1 = TableEntry();
tr2te2 = TableEntry();
append(tr2te1,tr2te1Text);
append(tr2te2,tr2te2Text);
append(tr2,tr2te1);
append(tr2,tr2te2);

tr3 = TableRow();
tr3te1Text = Paragraph('scott');
tr3te1Text.Font = 'Courier New';
tr3te2Text = Paragraph(' Is optimal if the data is close ');
append(tr3te2Text,'to being jointly normally distributed. This rule is ');
append(tr3te2Text,'appropriate for most other distributions, as well.');
tr3te1 = TableEntry();
tr3te2 = TableEntry();
append(tr3te1,tr3te1Text);
append(tr3te2,tr3te2Text);
append(tr3,tr3te1);
append(tr3,tr3te2);

append(paramTable,tr1);
append(paramTable,tr2);
append(paramTable,tr3);

Замените Table заполнитель с paramTable.

replace(tableSlide,'Table',paramTable);

Сгенерируйте и просмотрите презентацию

close(ppt);
rptview(ppt);

См. также

| | | | | |

Похожие темы