Is there an example of using MATLAB to create PowerPoint slides?

184 visualizaciones (últimos 30 días)
Is there a way, from MATLAB, to write images and content directly into PowerPoint slides? Do you have any examples of how to do this?

Respuesta aceptada

MathWorks Support Team
MathWorks Support Team el 5 de Feb. de 2019
There are three options for using MATLAB R2018b to create PowerPoint slides.
1. Use the "Publish To" option in the MATLAB Editor. Consider an MATLAB script file in the MATLAB Editor, for example:
a = [1:10];
b = [1:10].^2;
plot(a,b,'b.')
In the MATLAB Editor menu, choose "File" -> "Publish To". You have your choice of HTML, XML, LaTeX, Word Document, or PowerPoint presentation. An advantage of this option is simplicity; a disadvantage is that you do not have full control of the output format.
2. Use the MATLAB Report Generator. This approach allows greater control over the resulting file, though it should be noted that the MATLAB Report Generator is not part of base MATLAB. A simple PowerPoint presentation can be created as follows:
import mlreportgen.ppt.*
slides = Presentation('myFirstPresentation');
add(slides,'Title Slide');
contents = find(slides,'Title');
replace(contents(1),'My First Presentation');
close(slides);
More options using the MATLAB Report Generator can be found here:
This functionality, using the Report Generator PowerPoint API, was introduced in MATLAB R2015b.
3. Open PowerPoint as a COM Automation server (Windows platforms only). See attached example. In considering this example, please note that it was tested only with Office 2003 on a 32-bit Windows XP platform.
  2 comentarios
Brad
Brad el 18 de En. de 2016
This has been an excellent example to follow when attempting to get MATLAB to interact with PowerPoint. And so far, I've had a lot of success in adding PNG files to and existing PowerPoint presentation. But I do have one question: When adding a new slide to an existing presentation, I can't seem to control the title font size. I'm using 2015a with PowerPoint 2010. Could I be running into a limitation of some kind?
Rahul Singhal
Rahul Singhal el 20 de Oct. de 2020
Editada: Rahul Singhal el 24 de Oct. de 2020
Don, you can print the MATLAB figures, using print or saveas, to an image file and then use mlreportgen.ppt.Picture API to include that snapshot in a presentation using Report Generator. Below is an example:
% Create a presentation
import mlreportgen.ppt.*
ppt = Presentation("myFigurePresentation.pptx");
open(ppt);
% Add a slide to the presentation
slide = add(ppt,"Title and Content");
% Add title to the slide
replace(slide,"Title","surf(peaks)");
% Create a MATLAB figure with the surface plot
fig = figure;
surf(peaks);
% Print the figure to an image file
figSnapshotImage = "figSnapshot.png";
print(fig,"-dpng",figSnapshotImage);
% Create a Picture object using the figure snapshot image file
figPicture = Picture(figSnapshotImage);
% Add the figure snapshot picture to the slide
replace(slide,"Content",figPicture);
% Close the presentation
close(ppt);
% Once the presentation is generated, the figure and the image file
% can be deleted
delete(fig);
delete(figSnapshotImage);
% View the presentation
rptview(ppt);

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre MATLAB Report Generator en Help Center y File Exchange.

Productos


Versión

R2018b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by