Преобразуйте Управление HTML (Отделение или Таблица) к изображению с помощью C#

Действительно ли возможно преобразовать Управление HTML в изображение в C#?

Есть ли какой-либо метод C#, куда я могу передать Объект управления HTML и возвратить изображение того управления HTML?

Действительно ли это возможно, какие-либо предложения?

13
задан ACP 1 January 2010 в 03:21
поделиться

5 ответов

Мы использовали http://iecapt.sourceforge.net/ для преобразования HTML в изображение. Вы можете попробовать. Она доступна для FREE.

14
ответ дан 1 December 2019 в 22:23
поделиться

Рассмотрим эту (непроверенную!) библиотеку по адресу 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 на странице.

5
ответ дан 1 December 2019 в 22:23
поделиться

Описываемый элемент управления имеет в качестве вывода HTML. Это все, что он делает.

Ваша проблема в том, что вы хотите превратить фрагмент HTML в изображение. Рендеринг HTML осуществляется браузером - ASP.NET практически не имеет никакого отношения к тому, как HTML визуализируется клиентом.

Большинство .NET-библиотек, которые делают эту работу (превращая HTML в изображения), используют IE для питания преобразования. Некоторые из этих утилит включают:

  1. Webites Screenshot - http://www.websitesscreenshot.com/
  2. Вышеупомянутый htmlsnapshot - http://www.guangmingsoft.net/htmlsnapshot/help.htm
  3. В основном любая HTML -> PDF библиотека имеет эту функциональность, включая ABCPdf - http://www.websupergoo.com/abcpdf-1.htm

Но более основной ответ на вопрос заключается в том, что элементы управления ASP.NET не рендерингуют в формат изображения. Вам придется сделать IE скриншот страницы, на которой есть только этот элемент управления (или HTML).

2
ответ дан 1 December 2019 в 22:23
поделиться
[

]Необходимо создать отдельную страницу, которая будет преобразована в изображение, и вызвать ее в 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/[][
][

]
0
ответ дан 1 December 2019 в 22:23
поделиться

Я сам не пробовал, но кое-что, на что я хотел бы обратить внимание, может помочь, это HTMLRenderer.

1
ответ дан 1 December 2019 в 22:23
поделиться
Другие вопросы по тегам:

Похожие вопросы: