Effacer les filtres
Effacer les filtres

How to save uitable & uifigure into pdf file?

86 vues (au cours des 30 derniers jours)
Tai Jia Xun
Tai Jia Xun le 22 Juin 2018
Commenté : dpb le 10 Oct 2023
I am generating a table and graph using uitable and uifigure function, and I need to save the uitable and uifigure into pdf file. However, the pdf file was successfully generated but it's blank. Is there anyway to do that? My codes are as follow: ________________________________________________
fig = uifigure('Name','Numbers');
t = uitable(fig,'Data',[2,4,6,8;1,3,5,7]);
saveas(gcf,'Numbers','pdf')
________________________________________________

Réponse acceptée

Udit Dhand
Udit Dhand le 22 Juin 2018
fig = figure('Name','Numbers');
t = uitable(fig,'Data',[2,4,6,8;1,3,5,7]);
saveas(gcf,'Numbers','pdf')
Apparantly there is some problem with uifigure while setting it as parent of uitable.
  2 commentaires
Tai Jia Xun
Tai Jia Xun le 22 Juin 2018
it works!!!! thanks!!!!!!!!!
dpb
dpb le 10 Oct 2023
NOTA BENE: In
fig = figure('Name','Numbers');
t = uitable(fig,'Data',[2,4,6,8;1,3,5,7]);
saveas(gcf,'Numbers','pdf')
gcf does not necessarily return the same handle as fig -- even though it's highly likely it will, MATLAB instructions are not atomic and a selection of another figure could be made between the creation of fig and the execution of saveas. To be certain, use
saveas(fig,'Numbers','pdf')

Connectez-vous pour commenter.

Plus de réponses (1)

dpb
dpb le 3 Juil 2023
Since R2021b, see exportapp which will include uicontrols; prior functions could not.
In the original, gcf doesn't return the handle of a uifigure but either an existing figure, or if one isn't already open, it creates a new one--either way, it will NOT be the handle of any uifigure.
  2 commentaires
Alexander
Alexander le 10 Oct 2023
I am trying exactly this right now, but the text in a UITable (which is a child of the UIFigure) is not showing in the PDF that is generated. Are children's contents not rendered when using exportapp?
dpb
dpb le 10 Oct 2023
fig = uifigure('Name','Numbers');
t = uitable(fig,'Data',[2,4,6,8;1,3,5,7]);
exportapp(fig,'Numbers.pdf')
winopen('Numbers.pdf')
produced a pdf file with the above content in it...would have to see specific code to see what may have gone wrong in your case.

Connectez-vous pour commenter.

Catégories

En savoir plus sur Develop uifigure-Based Apps dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by