【问题标题】:Forcing NReco.ImageGenerator to download specific version of wkhtmltoimage.exe强制 NReco.ImageGenerator 下载特定版本的 wkhtmltoimage.exe
【发布时间】:2020-02-11 14:23:17
【问题描述】:

我正在使用 NReco.ImageGenerator.dll v1.1.3。这个组件很好用,不过下载的是wkhtmltoimage.exe v0.12.4,我需要v0.12.5代替。

如何强制它下载 v0.12.5?

【问题讨论】:

  • 我认为唯一的解决方案是订购 NReco.ImageGeneratorLT 许可证。然后就可以选择wkhtmltoimage.exe路径和版本了。

标签: c# nreco wkhtmltoimage


【解决方案1】:

我使用以下代码解决了我的问题(从 HTML 创建图像):

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-02-01
    • 2022-11-10
    • 2020-07-20
    • 2021-03-31
    • 1970-01-01
    • 2012-04-23
    • 2022-07-28
    • 2019-08-22
    相关资源
    最近更新 更多