2009-12-29 21 views

Respuesta

14

Hemos utilizado http://iecapt.sourceforge.net/ para convertir HTML a imagen. Puedes probarlo. Está disponible para GRATIS.

+0

La instantánea de msdn fue un viaje atrás en el tiempo: http://iecapt.sourceforge.net/msdn.microsoft.com.png – ccook

+0

@vijay funcionará IECapt con otros navegadores como Firefox y Chrome ... –

+0

IECapt funciona bien con IE7. En el servidor IE7 debe estar allí y el cliente puede ser cualquier navegador. – Vijay

5

Considere esta biblioteca (no verificada) en guangmingsoft llamada htmlsnapshot.

añadir una referencia a la htmlsnap2.dll

Hay un proyecto de ejemplo que hay para su descarga.

Aquí es su código de ejemplo, sacan directamente de ese enlace:

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(); 

actualización Si quería solamente un control en particular, se podría escribir usted mismo una página cuyo trabajo consiste en volver a hacer el control de destino como los únicos bits de HTML en la página.

+0

@pcampbell si se necesita un chasquido de toda la página, solo quiero la vista de cuadrícula ... –

+0

A continuación, cree su página con solo la vista de cuadrícula. –

+0

"Admite Windows 7 e IE8 ahora" me lleva a creer que representa el uso de Internet Explorer.La pregunta es: ¿quieres la versión renderizada de la tabla de IE o la de otros navegadores? Usar algo como Firefox o Safari es más difícil que IE porque no proporcionan las versiones ActiveX de su navegador desde el primer momento. Sin embargo, existen implementaciones de terceros, como http://www.iol.ie/~locka/mozilla/mozilla.htm – Codesleuth

2

El control que está describiendo tiene, como resultado, HTML. Eso es todo lo que hace.

Tu problema es que quieres convertir un fragmento de HTML en una imagen. Renderizar HTML lo hace un navegador: ASP.NET básicamente no tiene nada que ver con la forma en que HTML es procesado por un cliente.

La mayoría de las bibliotecas .NET que hacen este trabajo (convirtiendo HTML en imágenes) usan IE para impulsar la conversión. Algunas de estas utilidades incluyen:

  1. sitios web Captura de pantalla - http://www.websitesscreenshot.com/
  2. Lo anterior htmlsnapshot - http://www.guangmingsoft.net/htmlsnapshot/help.htm
  3. Básicamente cualquier HTML -> Biblioteca de PDF tiene esta funcionalidad, incluyendo ABCpdf - http://www.websupergoo.com/abcpdf-1.htm

Pero el Una respuesta más básica a la pregunta es que los controles ASP.NET no se procesan en un formato de imagen. Tendrá que hacer una captura de pantalla IE de una página que solo tiene ese control (o HTML) en ella.

+0

@dnord hay alguna herramienta de código abierto para hacerlo ... –

1

no he probado a mí mismo, pero algo que he tenido la intención de echar un vistazo a que puede ayudar es HTMLRenderer.

Cuestiones relacionadas