Создайте представление программно

Этот пример представления показывает некоторые общие задачи, вовлеченные в создание представления с API PPT. Этот пример производит эти слайды:

Использовать API PPT, чтобы создать полное представление PowerPoint® программно, вас:

  • Настройте пустую презентацию PowerPoint как шаблон для представления.

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

  • Создайте объект Presentation, который содержит код представления.

  • Добавьте слайды на основе размещений понижения в шаблоне.

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

  • Сгенерируйте представление.

Совет

Чтобы видеть другой пример программы API PPT в MATLAB, введите population_slides. (Чтобы запустить этот пример на Linux®, необходимо было установить программное обеспечение Open Office.)

Настройте шаблон

Программа API PPT использует презентацию PowerPoint в качестве шаблона, чтобы сгенерировать представление. Когда вы создадите полное представление программно, используйте пустой шаблон. Если слайды в шаблоне имеют содержимое (такое как текст или таблицы), содержимое появляется в представлении, которое генерирует программа API PPT.

API PPT обеспечивает шаблон PowerPoint по умолчанию. Можно использовать API PPT, чтобы сделать копию шаблона по умолчанию, который затем можно настроить, чтобы использовать с программой API PPT. Этот код создает шаблон под названием myTemplate, который является копией шаблона PPT API по умолчанию.

import mlreportgen.ppt.*
slidesFile = 'myTemplate.pptx';
slides = Presentation('myTemplate');

open(slides);

close(slides);

Откройте файл myTemplate.pptx. На платформе Windows® можно открыть представление в MATLAB:

if ispc
    winopen(slidesFile);
end

Чтобы видеть элементы шаблона, такие как мастер слайдов и размещения понижения, в PowerPoint панель View, нажимают Slide Master.

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

  1. В размещении понижения щелкните правой кнопкой по полю Click to edit Master title style.

  2. Из контекстного меню выберите (полужирный) B. Также нажмите кнопку, чтобы сосредоточить текст.

  3. Сохраните и закройте шаблон.

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

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

import mlreportgen.ppt.*;

Примечание

Строка import является первой строкой в этом примере программы. Этот пример создает программу API PPT в разделах, и таким образом, вы используете команду import только однажды. Чтобы просмотреть полную программу, кликните по myNewPPTPresentation программе.

Создайте объект Presentation

Создайте объект Presentation. Задайте:

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

  • myTemplate.pptx как шаблон PowerPoint.

slidesFile = 'myNewPPTPresentation.pptx';
slides = Presentation(slidesFile,'myTemplate');

Добавьте титульный слайд представления

Чтобы добавить понижение программно, задайте размещение понижения в шаблоне. Чтобы видеть имена размещений понижения, во вкладке PowerPoint Slide Master, наводят на размещение понижения.

Шаблон myTemplate включает размещение понижения Титульного слайда для титульного слайда представления. Чтобы добавить понижение с помощью размещения Титульного слайда, используйте метод add с slides, который является объектом Presentation. На имя размещения понижения не включайте слово Layout, который появляется в конце имен размещения понижения, когда вы наводите на размещения понижения.

presentationTitleSlide = add(slides,'Title Slide');

Чтобы добавить содержимое в понижение, сначала узнайте имена объектов содержания в размещении понижения.

  1. В PowerPoint останьтесь в мастере слайдов, просматривают и выбирают вкладку Home.

  2. Нажмите Select> Selection Pane.

  3. В размещении понижения кликните по элементу содержимого размещения понижения, имя которого вы хотите.

Задайте заголовок и подзаголовок. Задайте понижение, имя объектов содержания, которые вы хотите заменить, и текст для заголовка и подзаголовка. Для подзаголовка, чтобы задать различный шрифт для слова histogram, используют объект Paragraph для того текста.

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

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

append(subtitleText,funcName);
append(subtitleText,' Function');
replace(presentationTitleSlide,'Subtitle1',subtitleText);

Добавьте понижение с изображением

Чтобы добавить изображение в понижение, создайте объект Picture, задав файл изображения. Этот пример создает график MATLAB и сохраняет график как файл изображения. Можно добавить изображение в понижение. Используйте размещение понижения Заголовка и Содержимого и добавьте заголовок и изображение.

x = randn(10000,1);
h = histogram(x);

saveas(gcf,'myPlot_img.png');

plot1 = Picture('myPlot_img.png');

pictureSlide = add(slides,'Title and Content');
replace(slides,'Title','Histogram of Vector');
contents = find(pictureSlide,'Content');
replace(contents(1),plot1);

Добавьте понижение с текстом

В зависимости от размещения понижения PowerPoint форматирует текст, который вы добавляете как абзац, маркированный список или пронумерованный список. Этот пример создает другой экземпляр понижения Заголовка и Содержимого, которое форматирует текст как маркированный список. Можно использовать вложенный массив ячеек, чтобы задать уровни для маркеров.

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

titleText2 = Paragraph('What You Can Do with ');
func = Text('histogram');
func.Font = 'Courier New';
append(titleText2,func);
contents = find(textSlide,'Title');
replace(contents(1),titleText2);

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

Добавьте понижение с таблицей

Можно использовать несколько подходов, чтобы добавить таблицу в понижение. Этот пример показывает, как создать строку таблицы строкой.

  • Создайте объект Table.

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

  • Создайте объекты TableEntry и добавьте их к строкам таблицы.

  • Добавьте таблицу в понижение.

tableSlide = add(slides,'Title and Content');
contents = find(tableSlide,'Title');
titleText3 = Paragraph('Parameters');
replace(contents(1),titleText3);

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

contents = find(tableSlide,'Content');
replace(contents(1),paramTable);

Сгенерируйте и откройте представление

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

close(slides);

Открытый myNewPPTPresentation.pptx. На платформе Windows можно открыть его в MATLAB:

if ispc
    winopen(slidesFile);
end

Код для myNewPPTPresentation

Вот полная программа API PPT, чтобы создать myNewPPTPresentation.

Примечание

Файл myTemplate.pptx должен быть в текущей папке. Если это не, смотрите Настроенный Шаблон.

import mlreportgen.ppt.*;

slidesFile = 'myNewPPTPresentation.pptx';
slides = Presentation(slidesFile,'myTemplate');

% Add a title slide
presentationTitleSlide = add(slides,'Title Slide');
replace(presentationTitleSlide,'Title','Create Histograms Plots');

subtitleText = Paragraph('The ');
funcName = Text('histogram');
funcName.Font = 'Courier New';
>> append(subtitleText,funcName);
append(subtitleText,' Function');
replace(presentationTitleSlide,'Subtitle',subtitleText);

% Add a picture slide
x = randn(10000,1);
h = histogram(x);

saveas(gcf,'myPlot_img.png');

plot1 = Picture('myPlot_img.png');

pictureSlide = add(slides,'Title and Content');
replace(slides,'Title','Histogram of Vector');
contents = find(pictureSlide,'Content');
replace(contents(1),plot1);

% Add a text slide
textSlide = add(slides,'Title and Content');

titleText2 = Paragraph('What You Can Do with ');
func = Text('histogram');
func.Font = 'Courier New';
append(titleText2,func);
contents = find(textSlide,'Title');
replace(contents(1),titleText2);

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

% Add a table slide
tableSlide = add(slides,'Title and Content');
contents = find(tableSlide,'Title');
titleText3 = Paragraph('Parameters');
replace(contents(1),titleText3);

paramTable = Table();
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('Scott''s rule 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);

contents = find(tableSlide,'Content');
replace(contents(1),paramTable);

% Generate and open the presentation
close(slides);

if ispc
    winopen(slidesFile);
end

Похожие темы