我有错误关闭文件与Matlab报告生成器。

25次浏览(过去30天)
我看到有另一个用户有类似的错误,但这个问题的答案不适用于我遇到的问题。
我想在一个多页的PDF中输出大量的图表。来自文件交换的工具没有工作,因为它们需要安装Ghostscript,我计划分发最终产品。一些用户建议使用报表生成器,而我使用的是编程方法。在下面的代码之前,会生成带有子图的图形,然后将其保存为.png文件,保存在临时文件夹中。
进口mlreportgen.dom。*
d =文档(PDFFullName,“pdf”);
d.StreamOutput = true;
开放(d);
P = d.CurrentPageLayout;
P.PageMargins.Header =“0”
P.PageMargins.Footer =“0”
P.PageMargins.Top =“0”
P.PageMargins.Bottom =“0”
P.PageMargins.Left =“0”
P.PageMargins.Right =“0”
Figs = dir(“临时\ * . png”);
Figs = {Figs(:).name};
i = 1:长度(图)
Fig = [“临时\ Fig_”num2str(我)“使用”];
TempPlot =图像(图);
TempPlot。Style = {ScaleToFit};
追加(d, TempPlot);
结束
关闭(d)
偶尔,这种方法会非常有效。大多数情况下,我得到以下错误:
错误使用mlreportgen.dom.Document /关闭
错误关闭文档包:无法提交更改:无法将临时包重命名为最终包
位置:权限被拒绝没有权限
生成PDF文件,但PDF文件大小为0kb,无法打开。通常发生这种情况时,我在同一个目录中找到了一个文件夹,这个文件夹的名称显然是由随机的字母和数字组成的。我试着摆弄了一堆不同的参数,并没有能够确定任何使它始终工作或始终不工作的东西。
1评论
Kiren SK
Kiren SK 2019年8月19日
有什么解决办法吗?.我从命令行获得polyspace报告生成的相同错误

登录评论。

答案(2)

助手
助手 2017年9月14日
嗨罗伯特,
关于文档关闭错误,当创建报告时,应该在工作目录中创建一个' *_FO '目录。如果由于某种原因,该报表的创建失败,则保留该目录,并防止使用相同名称的其他报表。删除该目录可以解决此问题。
2的评论
爱德华•劳伦斯
爱德华•劳伦斯 2020年5月15日
嗨罗伯特,
我也有同样的问题,它似乎与Stack上的这个问题有关:
不幸的是,在我的组织中,我们没有特权能够修改病毒扫描参数,因为它提到了,所以我仍然在寻找另一种方法。

登录评论。


Matlab的用户
Matlab的用户 2021年7月1日
如果在文件/文件夹路径中有一个特殊字符,则可能发生此错误。当我在文件路径中使用“[”时,我遇到了这个错误。删除“[”后,问题就解决了。

社区寻宝

在MATLAB Central中找到宝藏,并发现社区如何帮助您!

开始狩猎!