MATLAB:将图形打印为PDF,使其与MATLAB中显示的图形相同。

7

我想将一张图形导出为.pdf格式(保存,打印),但无论如何设置,图形周围都有很大的边距。

当我将图形导出为.eps格式时,就没有这样的问题——也就是说,图形看起来就像在MATLAB中显示的那样。

我该如何将图形导出为.pdf格式,使其看起来与在MATLAB中显示的相同?


3个回答

7
您可以通过在绘图命令后立即添加以下代码行来自动化上述过程。
set(gcf,'Units','inches');
screenposition = get(gcf,'Position');
set(gcf,...
    'PaperPosition',[0 0 screenposition(3:4)],...
    'PaperSize',[screenposition(3:4)]);
print -dpdf -painters epsFig

前两行测量您的图形尺寸(以英寸为单位)。下一行配置打印纸张大小以适应图形大小。最后一行使用print命令,将矢量pdf文档导出为输出。


1
这张图看起来有些模糊。 - CroCo
这段代码似乎在较新版本的Matlab中不再起作用。 - Ben
这段代码对我来说在Matlab R2021b中似乎可以工作,只要最后一行代码被删除。 - Daniel Chin

3
您可以尝试以下方法:
1)在MATLAB中绘制图形后,转到“文件->导出设置”,并输入所需的输出大小。例如,宽度:6英寸,高度:5英寸。然后点击“应用于图形”按钮。
2)不要关闭“导出设置”窗口。转到“文件->打印预览->纸张”,在宽度和高度选项中输入相同的大小。
3)不要关闭“打印预览”窗口。返回“导出设置”窗口,单击“导出”,然后选择PDF格式并保存。
4)检查输出PDF文件,你会发现它完美无缺。
我在博客文章《在MATLAB中将图形导出为PDF》中找到了解决方案。

非常好用,谢谢。有没有可能将这些设置保存为默认设置?好像每次都要做这些步骤。 - Liw

0

两行脚本,用于将绘图导出为横向A4 PDF文件(假设您的绘图是“当前图形”):

%-------------------------------------------------------------------

% 将纸张大小调整为横向A4,并相应地重新定位图形

set(gcf,'PaperSize',[29.7 21.0],'PaperPosition',[0 0 29.7 21.0])

% 导出为PDF文件 'YourFileName.pdf'

print -dpdf 'YourFileName'

%-------------------------------------------------------------------

任何其他微调:检查图形属性-在命令窗口上简单地“get(gcf)”


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接