save PNG to file wih --nodisplay

9 views (last 30 days)
Richard on 1 Apr 2015
Edited: Richard Quist on 2 Apr 2015
Hi all, I have some code that runs on a server where there is no display. I don't have any trouble using the "saveas" to save some figures as ".fig"s, but when I try and use "saveas" to save .png files I get the following error:
Error using print>LocalPrint (line 295)
Error getting PageBoundingBox position in file
What is the recommended approach to creating figures in .png (or similar) files where there is no access to a display?

Answers (1)

Richard Quist
Richard Quist on 1 Apr 2015
Prior to R2014b, generating image formats when running MATLAB with -nodisplay was achieved by first creating a temporary PostScript file and then using Ghostscript to convert that file to the desired format.
You appear to be running into a problem as that temporary PostScript file is created.
It's possible that one of these could help:
  1. cleaning out the temp directory, or
  2. setting a different temp directory before starting MATLAB, by setting the TEMP (on Windows) or TMP (other platforms) environment variable
An alternative approach would be to create EPS files rather than PNG, and then later convert those files to PNG using Ghostscript or some other system tool.
Richard Quist
Richard Quist on 2 Apr 2015
Edited: Richard Quist on 2 Apr 2015
Certainly sounds like you're going to need to try the tmp directory cleanup or change...
Can you provide the stack trace from the SEGV? If not, do you have sample code that reproduces the SEGV? And how are you running on the remote machine?

Sign in to comment.


Find more on Printing and Saving in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!