Этот пример представления показывает некоторые общие задачи, вовлеченные в создание представления с 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 в интерактивном режиме, чтобы настроить шаблон. Чтобы установить форматирование значения по умолчанию для целого представления, настройте мастера слайдов. Чтобы установить форматирование значения по умолчанию для определенного вида понижения, настройте размещение понижения. Например, можно использовать мастера слайдов, чтобы настроить шаблон, чтобы использовать полужирный текст для заголовков слайдов.
В размещении понижения щелкните правой кнопкой по полю Click to edit Master title style.
Из контекстного меню выберите (полужирный) B. Также нажмите кнопку, чтобы сосредоточить текст.
Сохраните и закройте шаблон.
Все имена классов 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');
Чтобы добавить содержимое в понижение, сначала узнайте имена объектов содержания в размещении понижения.
В PowerPoint останьтесь в мастере слайдов, просматривают и выбирают вкладку Home.
Нажмите Select> Selection Pane.
В размещении понижения кликните по элементу содержимого размещения понижения, имя которого вы хотите.
Задайте заголовок и подзаголовок. Задайте понижение, имя объектов содержания, которые вы хотите заменить, и текст для заголовка и подзаголовка. Для подзаголовка, чтобы задать различный шрифт для слова 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