将MATLAB图形导出为.eps文件时字体出现问题

3
我目前正在使用优秀的脚本*export_fig*从MATLAB中导出图形,以便在写期刊论文时使用。该文件对于光栅图像(bmp、tiff等)非常有效,但我真的想将我的图形导出为矢量格式。我有两个选项,eps或pdf。导出到pdf很好,但当我导出到eps时,我注意到图形中的所有字体(轴标签、图例字体)似乎都加粗了一些。这在导出到pdf时并不是这样,所以我不知道为什么会发生这种情况,希望有人之前遇到过这个问题?
我尝试在导出之前更改默认字体,但问题仍然存在。而且有趣的是,当我以pdf格式打开导出的图形时,它看起来很好,但当我使用Adobe Acrobat Pro将其从pdf发布到eps时,同样的问题就会发生。结果的eps现在具有加粗的字体(有点像字体是粗体)。
如果有人能提供帮助,将不胜感激。

据我所知,我只是使用默认的“Helvetica”字体。这很奇怪,因为当我在Ghostview或Ghostscript中打开导出的.eps文件时,它看起来很好。当我在Illustrator中打开它时,字体看起来加粗了。最后,当我将.eps插入到Word中时,字体显示为在Illustrator中的样子(带粗体字)。 - Sanka
“export_fig”有很多难以解决甚至无法解决的错误。使用PDF而不是EPS是否可行? - Fraukje
我猜这与Matlab无关,而是与Acrobat的渲染器有关。我过去也遇到过类似的问题,不知道解决方案了,但它很棘手,你必须在Acrobat的首选项中深入更改某些内容。所以我只是将所有的图形保存为pdf(在Illustrator中进行后处理),然后在Latex中使用它们。你需要eps做什么?例如,在Latex中,pdf图像可以正常工作,而eps总是会出问题。 - Robert Seifert
@thewaywewalk 你是否记得你是如何解决这个问题的?我已经在许多论坛上查找了很久,发现这个问题似乎很常见,但没有人明确说明解决方案。我的想法是,如果我能够以某种方式导入 MATLAB 的 postscript 使用的 Helevetica 字体到 Illustrator 中,那么当打开 eps 文件时,Illustrator 就不会自动更改字体了吧? - Sanka
我在处理这个问题时也遇到了类似的情况。可以尝试以下方法: 1)使用inkscape/illustrator中可访问的字体进行测试。 2)将eps转换为高分辨率图像(大于预期图像大小)。我记得批量转换eps2png以保存高分辨率图像。这样的解决方案应该能够满足期刊的要求。 3)我记得export_fig/matlab中有一个设置可以改变输出行为。类似于setpapermode(manual)。它可以保证保存的内容是忠实的,而不需要后期编辑。抱歉,我记得不太清楚了。 - Cosades
显示剩余3条评论
2个回答

1
我发现导出矢量图像的最佳方法是使用Metafile格式,这是一种真正的矢量格式。当你放大时,使用打印命令得到的pdf文件会显示压缩伪影。
以下是将Metafile放入PowerPoint或Word的3个选项:
1. 在Matlab图形窗口中,从菜单中选择“编辑/复制图形”,然后粘贴到Word、PowerPoint、Outlook等应用程序中。对于线图,我通常会在复制之前使线条变粗,你可以通过选择“编辑/复制选项”,然后在对话框框的左侧选择“Figure Copy Template”,接着点击“Power Point”按钮,最后点击“Apply to Figure”来实现。 2. 你可以使用此命令将Metafile复制到剪贴板:print -dmeta,然后粘贴到Word、PowerPoint等应用程序中。 3. 你可以将metafile写入磁盘,然后你只需从Windows资源管理器中将文件拖放到PowerPoint幻灯片上,或者从插入选项卡中选择“文件”,选择相应的.emf文件即可。要将emf文件写入磁盘,请执行以下命令:print('-dmeta','myfile')
这将在您的硬盘上创建一个名为“myfile.emf”的文件。

1
我在所有版本的matlab中都遇到了同样的问题。每次导出eps文件时,我总是得到不同的字体。
因此,这里是我每次使用的一种方法。
保存一个带有所需格式的MATLAB fig文件,例如标签等。 从中导出eps / pdf并验证是否符合您的要求。
现在简单的技巧是在不绘制图形的情况下执行程序。
1)将上述保存的fig文件导入matlab并打开绘图编辑器。 2)从绘图浏览器中删除其变量 3)导入要绘制的变量(单击图形,然后单击绘图浏览器中的添加数据选项卡) 4)更新标签和标题(仅文本,无字体更改) 5)将文件另存为.fig并导出为eps。
完成后,您可以获得与此类似的每个生成的图形的相同格式。
这是一个耗时的过程,但能够完成您的工作。即使操作系统更改或字体升级,该方法也适用于保存其他版本MATLAB的fig文件的格式。

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