2009-12-29 6 views

Répondre

14

Nous avons utilisé http://iecapt.sourceforge.net/ pour convertir du HTML en image. Vous pouvez l'essayer. Il est disponible pour GRATUIT.

+0

L'instantané de msdn était un voyage dans le temps: http://iecapt.sourceforge.net/msdn.microsoft.com.png – ccook

+0

@vijay va IECapt travail avec d'autres navigateurs comme firefox et chrome ... –

+0

IECapt fonctionne très bien avec IE7. Sur le serveur IE7 devrait être là et le client peut être n'importe quel navigateur. – Vijay

5

Considérez cette bibliothèque (non testée!) Sur guangmingsoft appelée htmlsnapshot.

ajouter une référence à la htmlsnap2.dll

Il y a un exemple de projet là-bas pour le téléchargement.

Voici leur code exemple, soulevé directement à partir de ce lien:

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

Mise à jour Si vous vouliez seulement un contrôle particulier, vous pourriez vous écrire une page dont le travail consiste à re-rendre votre contrôle cible comme les seuls bits de HTML sur la page.

+0

@pcampbell si cela prend un instantané de la page entière je veux seulement la grille de vue .. –

+0

Puis créez votre page avec juste le gridview. –

+0

"Soutenir Windows 7 et IE8 maintenant" me porte à croire qu'il rend Internet Explorer.La question est: voulez-vous la version rendue d'IE de la table, ou d'un autre navigateur? L'utilisation de Firefox ou de Safari est plus difficile que celle d'IE, car les versions ActiveX de leur navigateur ne sont pas prêtes à l'emploi. Des implémentations de tiers existent cependant, comme http://www.iol.ie/~locka/mozilla/mozilla.htm – Codesleuth

2

Le contrôle que vous décrivez a pour code HTML. C'est tout ce qu'il fait.

Votre problème est que vous voulez transformer un extrait de code HTML en une image. Le rendu HTML est effectué par un navigateur - ASP.NET n'a fondamentalement rien à voir avec le rendu du HTML par un client.

La plupart des bibliothèques .NET qui effectuent ce travail (conversion du HTML en images) utilisent IE pour alimenter la conversion. Certains de ces services comprennent:

  1. Sites Capture d'écran - http://www.websitesscreenshot.com/
  2. Le htmlsnapshot mentionné ci-dessus - http://www.guangmingsoft.net/htmlsnapshot/help.htm
  3. Fondamentalement, tout HTML -> bibliothèque PDF a cette fonctionnalité, y compris ABCpdf - http://www.websupergoo.com/abcpdf-1.htm

Mais la réponse plus basique à la question est que les contrôles ASP.NET ne rendent pas à un format d'image. Vous devrez faire une capture d'écran IE d'une page qui a seulement ce contrôle (ou HTML) sur elle.

+0

@dnord est-il un outil open source pour le faire ... –

1

Je ne l'ai pas essayé moi-même, mais quelque chose que je sens à jeter un oeil à qui peut vous aider est HTMLRenderer.

Questions connexes