我看到有另一个用户有类似的错误,但这个问题的答案不适用于我遇到的问题。
我想在一个多页的PDF中输出大量的图表。来自文件交换的工具不起作用,因为它们需要安装Ghostscript,我正计划分发最终产品。一些用户建议使用报表生成器,我使用的是编程方法。在执行以下代码之前,将生成带有子图的图形,然后将其保存为临时文件夹中的.png文件。
进口mlreportgen.dom*
d =文档(PDFFullName,“pdf”);
d、 StreamOutput=true;
开放(d);
P = d.CurrentPageLayout;
页边距页眉=“0英寸”;
P.PageMargins.Footer=“0英寸”;
P.PageMargins.Top =“0英寸”;
P.PageMargins.Bottom =“0英寸”;
P.PageMargins.Left =“0英寸”;
对=“0英寸”;
图=目录(“Temp\*.png”);
Figs={Figs(:).name};
对于i=1:长度(图)
图=[“临时\图”num2str(一)“使用”];
TempPlot =图像(图);
TempPlot。风格= {ScaleToFit};
追加(d, TempPlot);
结束
关闭(d)
有时候,这种方法非常有效。大多数情况下,我会遇到以下错误:
错误使用mlreportgen.dom.Document/close
错误正在关闭文档包:无法提交更改:无法将临时包重命名为final
位置:权限被拒绝拒绝许可
PDF文件已生成,但大小为0 kb,无法打开。通常,当这种情况发生时,我会在同一个目录中找到一个文件夹,其名称显然由随机字母和数字组成。我尝试过处理一系列不同的参数,但无法确定任何使其持续工作或持续不工作的因素。