Хм, кажется я понял как этого достичь: придётся рендерить отдельные куски с помощью QWebFrame::render(), там есть аргумент clip. Думаю придётся рендерить несколькими частями и складывать в отдельные файлы. Ну хоть так.
Вариант со скроллом тоже рассматривал, но как самый последний и грязный