Je souhaite convertir les pages * .aspx (HTML) (Interface utilisateur) en Image comme JPEG. J'utilise ci-dessous le code pour queComment convertir une page Web en image?
Protected Sub btnGet_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnGet.Click
saveURLToImage("http://google.co.in")
End Sub
Private Sub saveURLToImage(ByVal url As String)
If Not String.IsNullOrEmpty(url) Then
Dim content As String = ""
Dim webRequest__1 As System.Net.WebRequest = WebRequest.Create(url)
Dim webResponse As System.Net.WebResponse = webRequest__1.GetResponse()
Dim sr As System.IO.StreamReader = New StreamReader(webResponse.GetResponseStream(), System.Text.Encoding.GetEncoding("UTF-8"))
content = sr.ReadToEnd()
'save to file
Dim b As Byte() = Convert.FromBase64String(content)
Dim ms As New System.IO.MemoryStream(b, 0, b.Length)
Dim img As System.Drawing.Image = System.Drawing.Image.FromStream(ms)
img.Save("c:\pic.jpg", System.Drawing.Imaging.ImageFormat.Jpeg)
img.Dispose()
ms.Close()
End If
End Sub
Mais je reçois erreur comme "caractère non valide dans une chaîne de base-64" à la ligne Dim b As Byte() = Convert.FromBase64String (contenu)
Voulez-vous enregistrer le code html comme jpg ou le rendu html (comme dans ce que vous voyez lorsque vous ouvrez l'URL dans un navigateur)? –
Je demande juste parce que votre code suggère le premier. Et même si vous résolvez votre erreur, cela ne fonctionnera pas. Vous ne pouvez pas simplement prendre une chaîne et l'enregistrer comme un jpeg comme ça. Vous devez utiliser DrawString() sous une forme ou une autre –