Как вы обнаружили, вы не сможете использовать элемент управления WebBrowser, поскольку сообщаемые высота и ширина - это высота и ширина самого элемента управления, а не документа внутри элемента управления.
Что вам действительно нужно, так это написать свой собственный механизм парсинга HTML, чтобы рассчитать это самостоятельно. Вам нужно будет рассчитать все линии, определить высоту линии и т. Д.
Это действительно стоит усилий? Вам нужно будет сделать так много предположений, что такой расчет будет в значительной степени бесполезным ... Различия в рендеринге в разных браузерах, у клиентов, у которых установлен размер текста, отличный от значения по умолчанию, и, возможно, десятки других. Даже разрешение экрана будет иметь значение, потому что, как вы можете видеть в этом параграфе, текст имеет тенденцию переноситься. Вам нужно вычислить, где текст будет переноситься, чтобы вычислить, сколько строк текста будет отображаться. Вам необходимо учитывать размеры шрифта ...
Все это говорит о том, что теоретически это должно быть выполнимо, и механика для вычисления всего этого будет теми же понятиями, которые вы использовали бы для печати на принтере. Вычисление высоты страницы и выяснение, где вы находитесь на странице, - это стандартная процедура при печати вручную.
Вот статья, которая объясняет основы. Вам решать, стоит ли это усилий.
http://msdn.microsoft.com/en-us/magazine/cc188767.aspx