Итак, что я упустил, так это то, что я печатал не на физическом принтере, а в файле .ps. Этот файл .ps затем конвертировался скриптом-призраком в pdf, который не регистрировал разрывы страниц. Я полагаю, что это связано с тем фактом, что элемент управления редактированием на самом деле не показывает разрывы страниц внутри него - и то, как работает команда печати, почти похоже на графический всплеск на устройстве печати. Разрыв страницы не «на экране», поэтому он не попадает в файл .ps. Это теория.
Единственное решение, которое я нашел, - это анализ информации, поступающей в CRichEditControl, на наличие символов перевода формы. Загрузите все символы вплоть до символа перевода формы, распечатайте его в файл, а затем используйте функцию EndPage (), чтобы вручную принудительно принудить подачу формы. Продолжайте в том же духе, пока не останется больше символов подачи формы. Затем убедитесь, что вы распечатали все оставшиеся символы после последней подачи формы.