图片缩略图

jrichter24 / toPPT

version 2.5.0.0 (475 KB) by 延斯•里希特
toPPT是一个强大的工具,用于生成用matlab编程定义的powerpoint演示文稿。
5.0
44评级

27下载

更新2017年2月16日

从GitHub

视图版本历史

在GitHub上查看许可证

toPPT是一个强大的工具,用于生成用Matlab编程定义的PowerPoint演示文稿。它将使用不同的脚本来执行图形、表格和文本的导出。为此目的,它将使用Jens Richter编写的脚本以及其他人编写的脚本(请参阅致谢)。所有代码使用Matlab 2012-2016和PowerPoint 2013 -2016进行测试
===================================
如果你喜欢你看到的,请通过以下方式为我买一杯咖啡:
https://ko-fi.com/A437HBY

引用作为

延斯•里克特(2021)。jrichter24 / toPPTGitHub (https://github.com/jrichter24/toPPT)。检索

意见及评分(83

Satoshi古

这是一个很棒的套餐,非常感谢
在一个sample cord(example.m)中,请告诉我是否有方法可以改变所有文本字母的字体大小。

%第三张幻灯片-将所有向量添加到一个额外的单元格中是很重要的{}
helperVector1 =(1、2、3);
helperVector2 = {'Me is 1','Me is 2','Me is 3'};
toPPT(可设置的,{{“坳1”、“Col 2”},{helperVector1, helperVector2}},‘SlideNumber’,‘添加’,‘pos’,‘我’);

Zhensen陈

Janusz Bachta

谢谢你!
我只有一个问题,图片插入到ppt中。
幻灯片中的位图分辨率很差……我不知道为什么。看起来幻灯片中的图片保持了人物窗口的大小。
不知道如何改变它。

坑霍夫曼

林曹国伟

很完美! !
感谢很多

王杰森

非常有前途的工作!非常感谢!

Josh Philipson

哈!刚刚发现toPPT被Windows 10屏蔽了,因为Office应用程序在等待更新应用。<天哪>

Trung粪勒

激射微波Minakawa

你好,
非常感谢你分享了一个非常方便的m-file集,我一直在寻找它。
“toPPT”是完美的,对于我目前的目的,粘贴许多a4大小的大数字在各自的a4大小的PPT幻灯片上非常方便。我每天需要粘贴16张A4图在16张A4幻灯片上。“toPPT”将枯燥的工作完全自动化。新粘贴的图形位于所有现有对象之下的默认行为是特别有利的,因为我基本上重用了覆盖在图形上的注释。我认为这是经过深思熟虑和用户友好的行为。再次感谢你。
最好的问候,
激射微波
他之前在亚琛工业大学做过研究在亨宁·华伦托维茨教授手下。

本杰明Karlsen

张老板

史蒂芬Hau

你好,
我真的很喜欢你做的事。然而,当我想导出一个矢量图形到PPT(toPPT(图1,'format','vec');)时,我遇到了麻烦。它总是删除我的音节,只要它有一个以上的字符。我发现pptfigure出了问题。在1342行。“(pic.Item .TextFrame.TextRange (c),“文本”);“。由于某种原因,它只返回音节的第一个字符,因此下面的字符串比较不返回true,它开始逐字删除音节字符。但是对于xlable来说,它工作得很好。
有人知道怎么解决这个问题吗?
问候
史蒂芬

延斯•里希特

嘿,以利亚,

抱歉,但它确实不适合mac。

最好的
延斯

以利亚Kornefel

为什么它在平台兼容性macOS下说,而注释却说不是这样?对代码进行快速编辑以使其工作有什么想法吗?

乔恩

总的来说,这是一个非常了不起的贡献。谢谢你提供这些。我感兴趣的是从脚本生成powerpoint,以帮助有一个更可复制的工作流程。
一个快速的bug报告:
如果有任何可选参数,例如slidennumber, pos,等等,添加一个existingFigure是不起作用的。作为一个工作,我发现我可以自己打开已有的文件,使用,openfig,例如fig = openfig('randomData.fig');然后使用带参数的普通图形放置,例如toPPT(fig,'pos','ME',' slidennumber ','current')。

我现在还注意到一个类似的关于existingImage bug的评论,其中发帖者建议放入一个哑参数。这个方法也适用于现存的图。因此,例如toPPT('existingFigure','randomData.fig','pos','ME')将失败,但toPPT('existingFigure','randomData.fig','pos','pos','ME')与'pos'参数重复工作。本例中的问题来自toPPT中的第754行,其中覆盖了第一个可选参数。

这个错误可以通过替换第754行varargin{1} = loaddfig来修复;使用varargin = [{loaddfig},varargin(:)'],这样第一个可选参数就不会被覆盖。类似地替换行782 varargin{1} = figureExistingImage;with varargin = [{figureExistingImage},varargin(:)']

吴宗宪

阿迪

埃德加Goederer

延斯•里希特

嘿,很高兴能帮助你们。谢谢你的修理。

约旦文书期刊

Samuel Augustiny,我从来没有在这里评论,但我一直在努力解决这个确切的错误在过去的2小时。好赶上!
感谢Jens编写了这段代码。当我需要呈现我处理过的数据时,它是非常强大和有用的!

撒母耳Augustiny

在第780行中有一个错误(varargin{1} = figureExistingImage;)。如果你做
figPath = (pwd, ' \ luke.jpg ');
toPPT (existingImage, figPath pos %, 50岁,25岁,身高%,65年,‘posAnker’,‘不’,‘SlideNumber’,‘当前’);

pos%命令将被覆盖。所以你需要在里面放一个dummy命令,就像重复一样:
figPath = (pwd, ' \ luke.jpg ');
figPath toPPT (' existingImage ',‘pos %’,‘pos %’,50岁,25岁,身高%,65年,‘posAnker’,‘不’,‘SlideNumber’,‘当前’);

发源地郑并且

玛丽莎·里德

哈米德Naseri

跑了段

伊曼Aganj

KYUNG怪人

伟大的工作。谢谢

HX

王林林

黄qy

史蒂夫Goisman

非常感谢你的分享,Jens,几个星期以来,我一直在努力尝试着从头开始创造一些东西,但却遇到了各种各样的错误。您的程序与我的Matlab和Power Point版本一起工作(耶!)

路上喝咖啡:)

摩根大通希恩

汉林

如果您能从“saveppt2”中借用一些概念,那就太棒了。这样数字就会自动缩放大小!例如,您可以传递一个参数toPPT('figureTile'[2,3]),它将6个数字整齐地排列成3列的2行。

//www.tatmou.com/matlabcentral/fileexchange/19322-saveppt2

Vaidehi

阿扎利亚Gezahegn

非常有用的例子。谢谢你!

内森·安德鲁斯

我不会经常用我的评论来搅乱互联网......但是这个工具非常有用。

内森·安德鲁斯

是以路

谢谢你非常有用的工具。
我有一个问题。这个代码在我的一台电脑上不起作用。错误消息显示'export_fig错误。您的图像不能添加为png图像'。但如果我使用向量格式,它就可以工作。我使用Matlab R2013b, office 2013和windows 10。

阿维德林德伯格

延斯•里希特

亚历山大,约亨,

听说你喜欢toPPT,我很高兴。我很快会看一下你的意见。目前这两件事都不可能,但我绝对认为它们是有趣的想法:-)。

最好的
延斯

亚历山大·洛伦兹

非常有用的!

有没有一种方法来指定表中的列宽度(或自动调整),以使它们的宽度不相等?

Jochen Siehr

很好的工具。

有一个问题:我的模板有多个布局(不同的logo大小和位置,幻灯片编号,设计等,例如标题和内容幻灯片)。当应用模板时,是否可以选择主和布局?

Jochen Siehr

菲利波Gasco

延斯•里希特

嘿,大卫,

谢谢你的好评:-)。已经支持更改文本框的背景颜色。金宝app使用以下测试代码:

<年代toPPT(颜色:lightblue;我有一个 < / s > < s颜色:lightblue;字体大小:18 >消息! < / s > ',……
‘SlideNumber’,‘添加’,‘setBullets’,0);

大卫Botto

得到了大量使用的优秀包。
是否可以使用彩色文本框?我们的赞助商希望看到深蓝色和白色字体的重要项目。

罗马Muszynski

优秀的工作。公司为劣质产品要钱。下载188bet金宝搏谢谢你的分享。

延斯•里希特

(1)我能指望它在Mac上运行吗?
不,这行不通。

(2)原则上,大多数功能不需要所有功能。只要试一试,如果可能的话,报告:-)

最好的
延斯

骑自行车的人

看起来很不错。在我检查之前,我有两个问题:

(1)我能指望它在Mac上运行吗?
(2)我真的需要这些工具箱吗?仅仅是为了创建一个简单的图形并将其放入PowerPoint中,还是仅仅是为了实现更高级的功能?

谢谢。

Gabriele

太棒了! !这正是我想要的

Gabriele

约翰

嗨Jens,

我发现toPPT非常有用!我有一些问题使用它(我使用R2015b),我不能确定他们是bug或如果我只是没有正确阅读文档。

1.假设我的当前目录是'C:\myFullPath',我有一个现有的演示在当前目录'Test.pptx',我想要打开。如果我执行命令:

toPPT(“openExisting”、“Test.pptx”)

我得到一个警告消息,说“Test.pptx”无法打开,等等,而toPPT反而打开一个新的表示。

成功打开现有演示文稿(我已经找到了)的唯一方法是提供文件的完整路径:

toPPT(“openExisting”、“C: \ myFullPath \ Test.pptx”)

这看起来像是一个bug(或者至少不方便)。无论如何,我能解决这个问题。

2.假设我已经通过执行成功地打开了一个现有的演示

toPPT(“openExisting”、“C: \ myFullPath \ Test.pptx”)

在将数字添加到现有的演示文稿后,我想保存它。

toPPT('saveFilename','Test')结果为“Warning: Saving presentation failed”,失败发生在addText中。M在561行。

如果我执行

toPPT('saveFilename','Test 2'),然后文件被成功保存(到另一个文件名,这不是我想要的)。

问题似乎出现在addText的第556行。M是这样写的:

fullpath = [myArg.saveFilename pwd,’。\ ','。',defaultExtension);

如果我改变。将\'转换为'\',然后执行命令

toPPT('saveFilename','Test')工作没有错误。

使用相同的更改,保存到另一个文件名(如果需要)仍然可以正常工作。

这似乎是我的一个错误,所以我已经改变了addText的代码。M是为了我的目的。

非常感谢您对这些问题的见解。

谢谢,
约翰

延斯•里希特

嗨,菲利普,

你可以查看添加框架/边框的最新版本。我不太明白你的第一个问题。我通常使用文本框来显示变量的值:-)

最好的
延斯

菲利波Gasco

嗨,这是一个非常强大的工具,它有助于自动报告!

我想插入一个文本框显示一个变量的值,这是可能的吗?

此外,是否可以自定义带有边框的文本框布局?

谢谢
菲利波

延斯•里希特

最后我有时间安装Matlab2015b。的确,toPPT需要一些小的调整。在我的下一个版本中,我也会用toPPT做一个git…

威廉·鲁

toPPT在R2015b中运行缓慢。还有人遇到过这种情况吗?

延斯•里希特

黄韧带骨化病例你好,

我去查查toPPT,看看是否可行。

最好的
延斯

Olf

嗨Jens,
奇妙的新更新!有一个问题:有没有办法插入一个没有列标题的表?

延斯•里希特

嗨Morten,

很遗憾听到这个消息。一般来说,这个错误消息可能会有一点误导。无论如何,您必须检查您的系统是否与toPPT兼容:
1.你使用的是哪种操作系统?
2.您使用的是哪个版本的matlab ?
3.你用的是哪个版本的ppt ?

我的第一个猜测是,Matlab和Powerpoint之间的通信不工作。如果你对Matlab有点熟悉,你也可以取消注释“try and catch blocks”,这样你就可以看到完整的错误堆栈。

最好的
延斯

Morten Risstad

里希特先生,

在安装了toPPT并尝试运行示例1后,我立即得到这个错误消息:“您的图不能添加为png图像”。

知道误差从哪里来吗?

问候
Morten

西蒙

嗨Jens,

这正是我所需要的。
非常感谢!

延斯•里希特

嗨,西蒙,

你的主意真不错。这无疑会大大提高toPPT的速度。我写了一篇小文章。只是试一试:

%%暂时保存图片

exportMode =“matlab”;

imagePath = ";

如果比较字符串(exportMode, exportFig)
如果比较字符串(myArg.externalParameters。”)
试一试
export_fig (myFigure pwd‘\ pptfig.tif’,‘透明’,(- m, num2str (myArg.defaultMagnify)]);
Imageinfo = iminfo ([pwd '\ ppt3 .tif']);
imagePath = [pwd '\ ppt8 .tif'];

export_fig (myFigure”。\ pptfig.tif”、“透明”,[- m, num2str (myArg.defaultMagnify)]);
imageinfo = imfinfo (' \ pptfig.tif。');
imagePath = '。\ pptfig.tif ';
结束

其他的
试一试
export_fig (myFigure pwd‘\ pptfig.tif’,‘透明’,(- m, num2str (myArg.defaultMagnify)], myArg.externalParameters{1:长度(myArg.externalParameters)});
Imageinfo = iminfo ([pwd '\ ppt3 .tif']);
imagePath = [pwd '\ ppt8 .tif'];

export_fig (myFigure”。\ pptfig.tif”、“透明”,[- m, num2str (myArg.defaultMagnify)], myArg.externalParameters{1:长度(myArg.externalParameters)});
imageinfo = imfinfo (' \ pptfig.tif。');
imagePath = '。\ pptfig.tif ';
结束

结束

myArg。objectHeight = imageinfo.Height;
myArg。objectWidth = imageinfo.Width;

结束

如果比较字符串(exportMode, matlab)

Path_emf = fullfile(pwd, ' ppt3 .emf');
打印(myFigure -dmeta, path_emf);

imagePath = path_emf;

pixelPos = getpixelposition (myFigure);

myArg。objectHeight = pixelPos (4);
myArg。objectWidth = pixelPos (3);

结束

%%计算位置参数

postioningParameters = getPosParameters (myArg);

宽度= postioningParameters.width;
身高= postioningParameters.height;
顶级= postioningParameters.top;
左= postioningParameters.left;

%%调用到powerpoint中

img =调用(imagePath slide.Shapes,‘AddPicture’,‘msoFalse’,‘msoTrue’,左,前,宽度、高度);

西蒙

优秀的包装!

我有一个问题关于图(或请求,也许)出口:我需要出口大量的数据(容易一百或更多),很多png图片的演示的文件大小是相当大的,所以我试图使用矢量格式.emf:文件大小是小得多的现在在PowerPoint和.emf图片看起来非常好。

我通过编辑addBitmapGraphic.m做到了这一点:
在第87行中,我插入
Path_emf = fullfile(pwd, ' ppt3 .emf');
打印(myFigure -dmeta, path_emf);
并因此将调用参数从[pwd '\ ppt.i tif']更改为path_emf。

现在我的请求:第67到85行仍然需要得到用于计算postoningparameters的imageinfo,但它们花费了相当长的时间(我用tic-toc测量了超过2秒)。此外,.tif导出现在是不必要的,因为我只使用。emf图片。
你是否有一个(快速和肮脏的?)解决方案来计算postoningparameters而不调用export_fig?

谢谢你的阅读和分享你真的很好的工作!

(注意:我使用的是R2013b an Office 2010)

延斯•里希特

黄韧带骨化病例你好,

下周我将出版一个新版本。所有请求的内容都已经包含在内了。我只需要写/更新文档…

最好的
延斯

Olf

延斯,
过去几周我一直在广泛地使用toPPT,这为我节省了大量的时间和麻烦。我在你的评论中看到你正在研究Matlab 2015a支持,你在这方面进展如何?金宝app我的公司正在搬到新的版本,所以如果我能继续使用你们的工具,我会非常高兴。我还想提出另一个特性要求:是否可以告诉Powerpoint超载图形的绝对位置和大小?
如果我能帮上什么忙,请告诉我!

延斯•里希特

嘿,约翰,

确实。在一个新的(尚未发布的)版本中,我已经包含了这个特性;-)。

最好的
延斯

约翰

非常有用的包。我建议添加的一个功能是打开现有的Powerpoint演示并使用toPPT添加到其中的能力。

约翰

延斯•里希特

嘿,萨米,

谢谢你的回复。看看我4月2日的评论吧;-)

最好的
延斯

萨米Zaynoun

这是一个非常有用的包。谢谢分享!我必须复制表的数据到ppts广泛,所以我一直在寻找一个自动化的解决方案,直到我发现这个包。我最感兴趣的是表导出功能,我有一些问题/评论。我看到你可以在打印幻灯片时格式化文本,但我想知道是否也可以在表格中格式化文本,比如大小、颜色、字体等。我也想知道是否有能力格式化的表格,即指定背景填充,边框,个别列宽度和行高等。
我不知道目前是否支持这个。金宝app如果有,请告诉我。如果没有,我将把它留给您作为一个改进的建议,因为我认为这将是一个很好的添加到您已经伟大的工作。
感谢您的阅读,再次感谢您的分享。
萨米

延斯•里希特

嘿,御马,

当然,所有的请求和意见都是欢迎的。

现在我正在制作一个主要版本(至少是在我正常工作的时间里^^)。还有一个Matlab 2015a已经修复的小问题。我已经包含了Charles Brown所要求的内容(再次感谢你的评论)。我还在研究其他一些新功能,例如定位算法。在表格中添加css标签绝对是一个不错的选择。我将看到它是多么复杂的实现,到目前为止,表被排除在格式化选项,如css标签。

最好的
延斯

弗洛里安

另一个请求(如果可以的话):是否有可能实现setTable命令的方式,也可以使用css标签进行格式化?

弗洛里安

嗨Jens,
我使用的是Matalb 2014a和Office 2013。我不知道向export函数传递参数的选项。我不得不承认,如果你知道选项,这个解决方案是好的,但这不是很明显。尽管如此,还是要感谢你的出色工作,它为我节省了大量的时间在ppt中推动图表:)顺便说一下。是否可以给出toPPT(图)的绝对位置(像素/厘米…)?

延斯•里希特

嘿,御马,

谢谢你的评论。我要亲自测试一下。顺便问一下,你用的是哪个版本的Matlab ?也许我可以包含这个提示,或者将它作为可选设置添加到toppt_config中。M例如作为默认的反对齐设置。另一方面,您可以通过toPPT直接转发参数以导出fig(与所附示例html文件中的示例11相比)。

最好的
延斯

弗洛里安

很好的工作!我有一个关于数字输出的评论。如果我导出虚线或虚线,由于蚂蚁别名,线结构完全被清除。在addBitmapGraphic的第69行添加选项'-a1'。M解决了这个问题。

延斯•里希特

你好查尔斯,

首先感谢您的评论。

这是一个很好的观点。目前,您可以通过两种不同的方式(非编程方式)轻松更改格式。

1.打开powerpoint,创建你想要的格式的幻灯片(可以是空的)。在默认情况下,ToPPT将把所有数据哑到开放表示中。格式不变。

还是……

2.toPPT完成后,您可以设置整个演示的格式。

我将包括一个更方便和编程的方式在我的下一个版本;-)

最好从亚琛,
延斯

查理布朗

这个包裹很棒,谢谢。不过,我在设置非默认幻灯片尺寸时遇到了问题。我在to_ppt_config中改变myPresentationWidth和myPresentationHeight的值。M是16:9,但我的幻灯片还是4:3。这是R2014b和Office 2010。再次感谢你的伟大工作!

延斯•里希特

嘿。这个版本有以下问题与Matlab 2014b:
-矢量输出图形不工作。这是由于M2014b中对数字的新处理。我将尝试在接下来的几天做出更新,以解决这个问题,并添加一些修复和新功能。

延斯•里希特

:-)

乍得格林

太好了。看起来很好。

延斯•里希特

@Chad:嘿,很抱歉听到你有这样的印象。当你打开toPPT。我已经列出了所有的脚本,不是我个人写的或我改变了。在描述中你也可以读到"..可以看作是现有脚本的一个插件。我认为这是在指出如何看到这些代码。无论如何,我会更新当前的描述。

来自亚琛的问候,
延斯

乍得格林

这个包包括一些你没有写的函数。要么把它们从包中删除,要么给那些使你的贡献成为可能的作者适当的荣誉。

Farnaz

Farnaz

让生活变得轻松,谢谢你,延斯先生

MATLAB版本兼容性
创建R2016b
与任何版本兼容
平台的兼容性
窗户 macOS Linux
确认

启发:export_figexportToPPTX

社区寻宝

在MATLAB中心找到宝藏,并发现社区如何可以帮助你!

开始狩猎!