В этом примере показано, как создать презентацию PowerPoint ® с помощью API MATLAB ® для 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'); 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');
Для создания таблицы можно использовать несколько подходов. См. раздел Создание и форматирование таблиц. В этом примере создается таблица строка за строкой.
Создание таблицы как 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