Save a figure as pdf
Afficher commentaires plus anciens
I have figures and I am using the command below to save it as pdf. Is there any way to save it directly as pdf instead of saving as .ps and convert to .pdf.
print(figure(i), '-append', '-dpsc2', 'E:\myfigure.ps');
Thanks
1 commentaire
Janani
le 5 Mar 2026 à 13:34
append
Réponse acceptée
Plus de réponses (3)
Sujay Kadam
le 1 Juil 2021
Modifié(e) : Eric Sargent
le 20 Déc 2023
Update: Starting in R2021b, you can use exportgraphics to directly create PDF files containing multiple figures:
% append each of the figures to output.pdf
for i=1:numFigs
exportgraphics(figure(i), 'output.pdf', 'Append', true);
end
(Original Answer prior to R2021b)
May be this has already been answered somewhere else, but I thought I would share what I usually do for generating plots in pdf format. Run the following code after generating a figure:
clear figure_property;
figure_property.units = 'inches';
figure_property.format = 'pdf';
figure_property.Preview= 'none';
figure_property.Width= '8'; % Figure width on canvas
figure_property.Height= '11'; % Figure height on canvas
figure_property.Units= 'inches';
figure_property.Color= 'rgb';
figure_property.Background= 'w';
figure_property.FixedfontSize= '12';
figure_property.ScaledfontSize= 'auto';
figure_property.FontMode= 'scaled';
figure_property.FontSizeMin= '12';
figure_property.FixedLineWidth= '1';
figure_property.ScaledLineWidth= 'auto';
figure_property.LineMode= 'none';
figure_property.LineWidthMin= '0.1';
figure_property.FontName= 'Times New Roman';% Might want to change this to something that is available
figure_property.FontWeight= 'auto';
figure_property.FontAngle= 'auto';
figure_property.FontEncoding= 'latin1';
figure_property.PSLevel= '3';
figure_property.Renderer= 'painters';
figure_property.Resolution= '600';
figure_property.LineStyleMap= 'none';
figure_property.ApplyStyle= '0';
figure_property.Bounds= 'tight';
figure_property.LockAxes= 'off';
figure_property.LockAxesTicks= 'off';
figure_property.ShowUI= 'off';
figure_property.SeparateText= 'off';
chosen_figure=gcf;
set(chosen_figure,'PaperUnits','inches');
set(chosen_figure,'PaperPositionMode','auto');
set(chosen_figure,'PaperSize',[str2num(figure_property.Width) str2num(figure_property.Height)]); % Canvas Size
set(chosen_figure,'Units','inches');
hgexport(gcf,'filename.pdf',figure_property); %Set desired file name
6 commentaires
Parth Patel
le 11 Déc 2021
This is the most perfect solution one can find for this problem. Thank you so much :)
Sujay Kadam
le 12 Déc 2021
You're welcome! I'm glad you found this helpful.
Md Modassir Firdaus
le 19 Sep 2022
Hi Sujay,
How can I change the only font size of legend ? It seems that the font size of every thing is same
Sujay Kadam
le 19 Sep 2022
Hi Firdaus,
Kindly change in the following line '12' to 'auto'...
figure_property.FontSizeMin= '12';
Katty
le 25 Juil 2023
Hi! Is it possible to generate this same pdf but in a horizontal format?
Sujay Kadam
le 25 Juil 2023
Hi,
You may want to change the values in the following lines:
figure_property.Width= '8'; % Figure width on canvas
figure_property.Height= '11'; % Figure height on canvas
If the width is larger than the height, the resulting plots would have a more horizontal aspect ratio.
For example,
figure_property.Width= '16'; % Figure width on canvas
figure_property.Height= '9'; % Figure height on canvas
would produce plots that would be suitable for a typical computer screen.
Richard Quist
le 11 Déc 2021
In R2021b and later you can use exportgraphics to directly create PDF files containing multiple figures:
% append each of the figures to output.pdf
for i=1:numFigs
exportgraphics(figure(i), 'output.pdf', 'Append', true);
end
1 commentaire
Ramprakash Ananthapadmanaban
le 29 Août 2023
'exportgraphics' function works well and even in subplots. Thanks
Ish Jain
le 9 Sep 2019
saveas(gcf,'filename.pdf')
!pdfcrop filename.pdf filename.pdf'
pdfcrop is useful if you are saving pdf for latex and you are using Linux.
1 commentaire
ASMA FAROOQ
le 20 Sep 2023
print -dpdf epsFig
Catégories
En savoir plus sur Printing and Saving dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!