exponenta event banner

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

В этом примере показано, как создать презентацию PowerPoint ® с помощью API MATLAB ® для 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');

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');

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');

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

См. также

| | | | | |

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