Элемент управления WebBrowser.DrawToBitmap печатает пустую белую страницу

В форме Windows у меня есть веб-страница, и я хочу напечатать ее содержимое, в любом случае, напрямую распечатать на принтере или сохранить растровое изображение и распечатать позже.

До сих пор мне удалось получить код из Интернета и начать сохранение .png файлы, но они все пустые.

вот код:

Public Function GenerateScreenshot(ByVal url As String) As Bitmap
    ' This method gets a screenshot of the webpage
    ' rendered at its full size (height and width)
    Return GenerateScreenshot(url, -1, -1)
End Function
Public Function GenerateScreenshot(ByVal url As String, ByVal width As Integer, ByVal height As Integer) As Bitmap
    ' Load the webpage into a WebBrowser control
    Dim wb As New WebBrowser()
    wb.ScrollBarsEnabled = False
    wb.ScriptErrorsSuppressed = True
    wb.Navigate(browse.Url)
    While wb.ReadyState <> WebBrowserReadyState.Complete
        Application.DoEvents()
    End While


    ' Set the size of the WebBrowser control
    wb.Width = width
    wb.Height = height

    If width = -1 Then
        ' Take Screenshot of the web pages full width
        wb.Width = wb.Document.Body.ScrollRectangle.Width
    End If

    If height = -1 Then
        ' Take Screenshot of the web pages full height
        wb.Height = wb.Document.Body.ScrollRectangle.Height
    End If

    ' Get a Bitmap representation of the webpage as it's rendered in the WebBrowser control
    Dim bitmap As New Bitmap(wb.Width, wb.Height)
    Using G As Drawing.Graphics = Drawing.Graphics.FromImage(bitmap)
        G.Clear(Color.Black)
    End Using
    wb.DrawToBitmap(bitmap, New Rectangle(0, 0, wb.Width, wb.Height))
    wb.Dispose()       
    Return bitmap
End Function

и здесь, используя код:

 Try
        Dim thumbnail As Bitmap = GenerateScreenshot(browse.Url.ToString())
        thumbnail = GenerateScreenshot(browse.Url.ToString())

        Dim fn As String = Path.Combine(Path.GetTempPath(), "1_.png")
    thumbnail.Save(fn, System.Drawing.Imaging.ImageFormat.Png)
    Catch ex As Exception
    End Try

пожалуйста, помогите мне и предложите, если я могу печатать сразу после сохранения в растровое изображение

0 ответов

Другие вопросы по тегам