Существует несколько недокументированных способов ( изменение реестра , недокументированный dll экспорт ) для печати документа на XPS или PDF-принтеры безпарсинг страницы, то есть, если вы можете позволить себе развернуть необходимые драйверы принтера в сети вашего клиента.
Если вы хотите проанализировать веб-страницу, то documentElement.outerHTML должен предоставить вам полный канонизированный документ, но не связанные изображения , скрипт или таблица стилей файлы.Вам необходимо проанализировать страницу, перечислить элементы, проверить типы элементов и получить URL-адреса ресурсов перед тем, как копать кэш WinInet или , загружая для получения дополнительных ресурсов.Чтобы получить свойство documentElement, вам нужно привести HtmlDocument.DomDocument к mshtml.IHTMLDocument2, если вы используете Windows Forms, или преобразовать WebBrowser.Document в mshtml.IHTMLDocument2, если вы используете WPF.Если вам нужно подождать до завершения выполнения кода Ajax, запустив таймер при возникновении события DocumentComplete .
На этом этапе я бы проанализировал HTML DOM и получил необходимые данные вЧтобы создать отчет с помощью шаблона, у вас всегда есть возможность создавать другие форматы, поддерживаемые механизмом отчетов, такие как Microsoft Word.Очень редко мне нужно отображать HTML как проанализированный, например, печатая длинную таблицу без добавления настраиваемого верхнего и нижнего колонтитула на каждой странице.Тем не менее, вы можете проверить Преобразование HTML в PDF в .NET и проверить, какое из предложенных программ / компонентов лучше всего работает с вашим целевым веб-сайтом, если у вас нет длинных таблиц.