繁体   English   中英

将html table / chart元素转换为图像

[英]Convert html table/chart element to image

这是我在空闲时间尝试做的事情。 但是我还不确定我可能面临的复杂性和问题。 我想去一个这样的网址: https//fred.stlouisfed.org/series/DFII5 并将此图表保存为图像 ,在我的电脑本地的任何地方。

我的第一种方法是使用html敏捷包:

 var document = new HtmlWeb().Load("https://fred.stlouisfed.org/series/DFII5");
        var urls = document.DocumentNode.Descendants("img")
                                        .Select(e => e.GetAttributeValue("src", null))
                                        .Where(s => !String.IsNullOrEmpty(s));

甚至使用WinForms Web浏览器控件:

private void GetWebpage(string url)
    {
        WebBrowser browser = new WebBrowser();
        browser.Navigate(url);
        browser.DocumentCompleted += new WebBrowserDocumentCompletedEventHandler(browser_DocumentCompleted);

    }

    void browser_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
    {
        var browser = (WebBrowser)sender;
        var client = new WebClient();
        foreach (var img in browser.Document.Images)
        {
            var image = img as HtmlElement;
            var src = image.GetAttribute("src").TrimEnd('/');
            if (!Uri.IsWellFormedUriString(src, UriKind.Absolute))
            {
                src = string.Concat(browser.Document.Url.AbsoluteUri, "/", src);
            }

            //Append any path to filename as needed
            var filename = new string(src.Skip(src.LastIndexOf('/') + 1).ToArray());
            File.WriteAllBytes(filename, client.DownloadData(src));
        }
    }

这两种方法都能够从该网页获取所有图像,但是图表就是我想要的,而且它不是图像。

这项任务可行吗? 我需要图书馆/小工具吗? 我将如何实现这一目标? 注意:没有必要在C#中执行它,它可以是Python或其他任何东西。

编辑一些进一步的研究引起了我的注意: http//www.princexml.com/https://wkhtmltopdf.org/

根据我的理解,它们都是html到pdf库。 是否可以使用这些,只获取图表的html并将其转换为pdf?

只是第一个想法。 是的,该图表不是图像。

所以,一个想法可能是:让你的软件做一个截图,并用一些图像编辑SDK剪掉那个特定的区域。

为了加载网站并进行截图,我会想到像Selenium这样的东西。 要在之后编辑图像,您可以使用ImageMagick之类的东西。

另一个想法可能是从网站上获取该图像的元数据并自己绘制。

你可以试试HTML2PDF转换器。 请参阅https://www.html2pdf.fr

或者HTML2PS转换器。 请参阅http://user.it.uu.se/%7Ejan/html2ps.html

ImageMagick可以使用后者,如果安装进行转换。 请参阅http://www.imagemagick.org/script/formats.php上的 HTML部分

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM