Saving Multiple matlab files using print

3 views (last 30 days)
friet
friet on 21 Apr 2021
Answered: Richard Quist on 29 Nov 2021
Hello
I am using this to save a multiple figures in ps format.
for i=1:14
print(figure(i), '-append', '-dpsc2', 'd:Myfigure.ps');
end
However, i would like to define the figure paper position, so when i use the code below, doent work :(
h=gcf;
set(h,'PaperOrientation','landscape');
set(h,'PaperUnits','normalized');
set(h,'PaperPosition', [0 0 1 1]);
for i=1:14
print(gcf, figure(i), '-append', '-dpsc2', 'd:Myfigure.ps');
end
ANny help is appreciated. Also, can i save it directly to pdf instead of ps.
Thanks
  2 Comments
J. Alex Lee
J. Alex Lee on 22 Apr 2021
You may also need to use the figure's "Position" property to match the "PaperPosition" property.
It's hard to say because "doesn't work" is so vague...does it throw an error? is the result not as expected?

Sign in to comment.

Answers (1)

Richard Quist
Richard Quist on 29 Nov 2021
My guess is that you are receiving an error from the call to the print function:
for i=1:14
print(gcf, figure(i), '-append', '-dpsc2', 'd:Myfigure.ps');
end
The issue is that you are passing in 2 figure handles in the call to print (gcf and figure(i)). You probably want to remove gcf and use this instead:
for i=1:14
print(figure(i), '-append', '-dpsc2', 'd:Myfigure.ps');
end
The print function can not produce multipage PDF directly, but in R2021b the exportgraphics function was updated to directly support appending to PDF files (i.e. creating a multipage PDF file):
% append each of the figures to output.pdf
for i=1:14
exportgraphics(figure(i), 'output.pdf', 'Append', true);
end

Tags

Products


Release

R2021a

Community Treasure Hunt

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

Start Hunting!