How to save uitable & uifigure into pdf file?

148 visualizaciones (últimos 30 días)
Tai Jia Xun
Tai Jia Xun el 22 de Jun. de 2018
Comentada: dpb el 10 de Oct. de 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')
________________________________________________

Respuesta aceptada

Udit Dhand
Udit Dhand el 22 de Jun. de 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 comentarios
Tai Jia Xun
Tai Jia Xun el 22 de Jun. de 2018
it works!!!! thanks!!!!!!!!!
dpb
dpb el 10 de Oct. de 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')

Iniciar sesión para comentar.

Más respuestas (1)

dpb
dpb el 3 de Jul. de 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 comentarios
Alexander
Alexander el 10 de Oct. de 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 el 10 de Oct. de 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.

Iniciar sesión para comentar.

Categorías

Más información sobre Develop uifigure-Based Apps en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by