WinX has a set of functions to manage printing.
Printing is acheived by drawing to a window with Auto Draw functions, then playing the Auto Draw records into a printer DC. To get a printer DC you use the WinXPrint_Start function.
Because the resolutions of printers vary depending on the page size and dpi, WinX provides a simple method to scale source Auto Draw records to fit the printer. The WinXPrint_Start function returns the width and height of the printer in device units, minus the margins and unprintable area. The WinXPrint_Page function takes as parameters the width and height in device units to scale the Auto Draw records to.
If you want to print things at a particular physical size, you can use the WinXPrint_LogUnitsPerPoint and WinXPrint_DevUnitsPerInch to get the conversion factors. The reason I use inches is because Windows uses them internally. If you find them unnatural, as I do, you can convert them to millimetres by multiplying by 25.4.
WinXPrint_Start
WinXPrint_PageSetup
WinXPrint_Page
WinXPrint_Done
WinXPrint_LogUnitsPerPoint