Exporting image and scale

ImageSize has a form (still undocumented)

 ImageSize -> a -> b

to have a user units correspond to b printer's points.

So you can use

cm = 72/2.54;
Plot[x^2, {x, 0, 5}, AspectRatio -> Automatic, ImageSize -> 1 -> cm]

A paper ruler:

metricruler = Plot[0, {x, 0, 20}, 
  AspectRatio -> Automatic, 
  AxesOrigin -> {0, 0}, 
  PlotRangePadding -> 0, 
  PlotStyle -> None, 
  Axes -> {True, False}, 
  Ticks -> {Charting`ScaledTicks[{Identity, Identity}, "TicksLength" -> {.05, .02}],
    None},
  TicksStyle -> 16,
  ImageSize -> 1 -> cm] 

enter image description here

If you export as PDF and print you should get a paper ruler.


Looking at the documentation pages of FontSize and ImageSize, we see that both are given in printer's points, with 72dpi assumed.

This means that you can determine the appropriate settings like this:

$$\text{size for MMA}=\text{size in cm}\;\cdot72/2.54$$

As an example, the following produces a PDF with a size of an A4 paper, and the plot label is 1cm high:

Export[
 "test.pdf",
 Plot[
  x^2, {x, 0, 5},
  PlotLabel -> "qfA",
  AspectRatio -> 5,
  LabelStyle -> FontSize -> 1*72/2.54,
  ImageSize -> {21, 29.7}/2.54*72
  ]
 ]