В BeginPrinting я вычисляю прямоугольник печати, как показано ниже. Я полагаюсь на это для подсчета количества страниц.
CRect rect(30, -50, 200, -60);
int height = pDC->DrawText(cstr, &rect, DT_EDITCONTROL | DT_WORDBREAK | DT_LEFT | DT_CALCRECT);
Затем в OnPrint я снова делаю тот же расчет. Однако результат по высоте другой. Не знаю, что с ним не так.