0

I'm using NReco.ImageGenerator.dll v1.1.3. This component is very useful, but it downloads wkhtmltoimage.exe v0.12.4, and I need v0.12.5 instead.

How can I force it to download v0.12.5?

mkrieger1
  • 19,194
  • 5
  • 54
  • 65
  • I think the only solution is order NReco.ImageGeneratorLT license. Then it's possible to select the wkhtmltoimage.exe path and version. – ecolbiz Feb 14 '20 at 15:53

1 Answers1

0

I resolve my problem (create an image from HTML) with the following code:

    public static void CreateImageFromHTML(string sourceHtml, string imageFileName, int width, int height)
    {
        var th = new Thread(() =>
        {
            var webBrowser = new WebBrowser();
            webBrowser.Width = width;
            webBrowser.Height = height;
            webBrowser.ScrollBarsEnabled = false;
            webBrowser.DocumentCompleted += delegate (object sender, WebBrowserDocumentCompletedEventArgs e)
            {
                webBrowser_DocumentCompleted(sender, e, imageFileName);
            };

            webBrowser.DocumentText = sourceHtml;
            Application.Run();
            webBrowser = null;
            GC.Collect();
        });
        th.SetApartmentState(ApartmentState.STA);
        th.Start();
        th.Join(4000);
    }

    static void webBrowser_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e, string fileName)
    {
        var webBrowser = (WebBrowser)sender;

        webBrowser.Dock = DockStyle.Fill;
        int height = webBrowser.Document.Body.ScrollRectangle.Height;
        int width= webBrowser.Document.Body.ScrollRectangle.Width;

        using (Bitmap bitmap = new Bitmap(width, height))
        {
            webBrowser.DrawToBitmap(bitmap, new Rectangle(0, 0, width, height));
            bitmap.Save(fileName, ImageFormat.Jpeg);
        }
    }