Действительно ли возможно преобразовать Управление HTML в изображение в C#?
Есть ли какой-либо метод C#, куда я могу передать Объект управления HTML и возвратить изображение того управления HTML?
Действительно ли это возможно, какие-либо предложения?
Мы использовали http://iecapt.sourceforge.net/ для преобразования HTML в изображение. Вы можете попробовать. Она доступна для FREE.
Рассмотрим эту (непроверенную!) библиотеку по адресу guangmingsoft, называемую htmlsnapshot.
добавим ссылку на htmlsnap2.dll
Там есть образец проекта для скачивания.
Вот их образец кода, снятый прямо по этой ссылке:
snap = new CHtmlSnapClass();
snap.Url("www.google.com", "*")
byte[] data = (byte[])snap.GetImageBytes(".jpg");
//byte[] data = (byte[])snap.GetThumbImageBytes(".jpg", 100, 100, 1);
FileStream fs = File.OpenWrite(@"c:\1.jpg");
BinaryWriter br = new BinaryWriter(fs);
br.Write(data);
br.Close();
fs.Close();
Обновление. Если бы вы хотели только определенный элемент управления, вы могли бы написать себе страницу, чья работа заключается в переотправке вашего целевого элемента управления в качестве единственных битов HTML на странице.
Описываемый элемент управления имеет в качестве вывода HTML. Это все, что он делает.
Ваша проблема в том, что вы хотите превратить фрагмент HTML в изображение. Рендеринг HTML осуществляется браузером - ASP.NET практически не имеет никакого отношения к тому, как HTML визуализируется клиентом.
Большинство .NET-библиотек, которые делают эту работу (превращая HTML в изображения), используют IE для питания преобразования. Некоторые из этих утилит включают:
Но более основной ответ на вопрос заключается в том, что элементы управления ASP.NET не рендерингуют в формат изображения. Вам придется сделать IE скриншот страницы, на которой есть только этот элемент управления (или HTML).
]Необходимо создать отдельную страницу, которая будет преобразована в изображение, и вызвать ее в iframe. Затем попробуйте следующее:[
].
[]http://articles.sitepoint.com/article/generating-asp-net-images-fly[][
]
ИЛИ[
]
[]http://www.guangmingsoft.net/wordpress/convert-html-to-image-without-temporary-files-in-c/[][
][
Я сам не пробовал, но кое-что, на что я хотел бы обратить внимание, может помочь, это HTMLRenderer.