gpt4 book ai didi

c# - 将 html 表格/图表元素转换为图像

转载 作者:太空宇宙 更新时间:2023-11-03 22:55:46 25 4
gpt4 key购买 nike

这是我在空闲时间尝试做的事情。但是,我还不确定我可能面临的复杂性和问题。我想转到这样的网址: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 网络浏览器控件:

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

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

这个任务可行吗?我需要库/nugets 来做到这一点吗?我将如何实现这一目标?注意:不必在 C# 中执行此操作,它可以在 Python 或其他任何语言中执行。

编辑 一些进一步的研究使我注意到了这两个:http://www.princexml.com/https://wkhtmltopdf.org/

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

最佳答案

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

因此,一个想法可能是:让您的软件进行屏幕截图并使用一些图像编辑 SDK 剪切特定区域。

要加载网站和截屏,我会想到像 Selenium 这样的东西。之后要编辑图像,您可以使用 ImageMagick 之类的工具。

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

关于c# - 将 html 表格/图表元素转换为图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45434058/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com