# how can I convert a Grid object to a Graphics object?

I have a figure (which is by combining different plots) that I generated using Grid[]. The problem is, I want to specify the ImageSize of this final figure. I am unable to do it in Grid[]. Therefore, I wanted to convert this Grid[] object to Graphics[] object so that I can save it as a PDF of desired ImageSize.

Note: I tried to save the output of Grid[] as PDF using Export[]. It works fine. However, when I set ImageSize in Export[], it seems to be ignored.

I tried

i=First@ImportString[ExportString[figure, "PDF"]];


But even this seems to lose clarity but this gives crispier image than Rasterize

Magnify[] seems to do what I want even if It doesn't convert the figure to graphics, I can change the resolution by trial and error. Not the best way to do it but gets the job done.

-
Have you tried Rasterize? reference.wolfram.com/mathematica/ref/Rasterize.html –  Jonie Aug 1 '13 at 23:59
that works but not as good as exporting the grid[] directly to output pdf which had size of 877X353 but much clearer than output of Rasterize[] which I had set to an ImageSize of 1000. I played around with RasterSize increasing it all the way to 15000. But doesn't seem to get better. Do you know what causes this loss of clarity? –  preeti Aug 2 '13 at 0:32
I'm pretty new to the function too, was trying to use it to determine the height of a column. Nevertheless, are you using ImageSize as a parameter for your expert or your Rasterize? Try it for Rasterize if you've yet to do so. –  Jonie Aug 2 '13 at 0:45
Why not use GraphicsGrid instead of Grid, it has a ImageSize option to set the overall size of the whole graphics grid. –  xslittlegrass Aug 2 '13 at 4:32
How about Magnify? –  David Park Aug 2 '13 at 23:49

I am still confused about this question. I am posting this just to understand better what is wrong again with using GraphicsGrid or Magnify as was suggested above? Here is just an example. Why this does not work? It is also easy to use ItemSize to control the size of each entry in the GraphicsGrid if needed.

SetDirectory[NotebookDirectory[]];
Manipulate[
s = Which[method == "GraphicsGrid",
GraphicsGrid[tbl, Frame -> All, Spacings -> {.5, .5},ImageSize -> n],
method == "Magnify", Magnify[Grid[tbl, Frame -> All], n/500]
],

{{n, 300, "how big?"}, 200, 1000, 10, Appearance -> "Labeled"},
{{method, "GraphicsGrid"}, {"Magnify", "GraphicsGrid"}},
Button["Export to PDF", Export["s.pdf", s]],
Initialization :>
(
tbl = Table[ListPlot[RandomReal[{0, 1}, 10],Joined->True,ImageSize->100], {3}, {3}]
)
]


-
Magnify does work. With GraphicsGrid, I tried to play around with ItemSize. But I could not get it to do what I want. One main difference from your example is, I have one item spanning the whole row and two other items spanning the next row. The alignment is a problem. I cannot align each element differently as in case of grid. –  preeti Aug 4 '13 at 17:54