First you have to decide about the measurment system of the client machine:
VB Code:
  1. ' Decide if the measurement system of the current user is Metric (millimiter in PageSetupDialog or inches.
  2. ' There is a dotnet way to read the measurement system of the current culture-for example US culture is associated
  3. ' with US measurments (inch)-but that way wont reflect the user override of regional seetings in control panel.
  4. ' So read the registry value that shows the measurement system. If the value is not present at all, as in Win98SE
  5. ' or the value is 1 then its inches, and if 0 then its Metric.
  6. Dim rgkey As RegistryKey, s As Integer
  7. Try
  8.        rgkey = Registry.CurrentUser.OpenSubKey("Control Panel").OpenSubKey("International")
  9.       If rgkey.GetValue("iMeasure") = Nothing Then
  10.           s = 1
  11.         Else
  12.           s = CByte(rgkey.GetValue("iMeasure"))
  13.       End If
  14.  Catch ex As System.Exception
  15.      s = 1
  16. Finally
  17.      rgkey.Close()
  18. End Try
Then if the system is metric you have to multiply the document margins by 2.54 to convert it to mm.