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

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

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

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

  • В MATLAB® импортируйте mlreportgen.ppt Пакет API 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'});

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

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

  • Составление таблицы объект.

  • Создайте 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

Похожие темы