Нууу, например можно так.
Назовём ваш див А.
Создайте див Б с шириной, аналогичной диву А, и абсолютным позиционированием, уберите его куда-нибудь за пределы экрана (чтобы не маячил). Далее начните в него постепенно (кусками) добавлять текст из дива А, при этом сверяя каждый раз высоту дива Б. Как только высота дива Б станет больше дива А, берите полученный текст без последней итерации - вы получите как раз обрезанный текст, который вмещается в нужную вам высоту. После этого див Б удалите.