В этом примере показано, как создать презентацию PowerPoint ® с помощью MATLAB ® API для PowerPoint (PPT API). Пример генерирует следующие слайды:
Чтобы программно создать презентацию:
Импортируйте пакет 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');
Для создания таблицы можно использовать несколько подходов. См. раздел Создание и форматирование таблиц. В этом примере строка таблицы строка за строкой.
Составьте таблицу как mlreportgen.ppt.Table
объект.
Создайте mlreportgen.ppt.TableRow
объект для каждой строки таблицы.
Создание 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);
mlreportgen.ppt.Paragraph
| mlreportgen.ppt.Presentation
| mlreportgen.ppt.Slide
| mlreportgen.ppt.Table
| mlreportgen.ppt.TableEntry
| mlreportgen.ppt.TableRow
| mlreportgen.ppt.Text