c# - 使用 C# 将 HTML 转换为图像。 Html 有标签以及 base64 字符串问题

标签 c# html .net

我正在尝试在 C# 中将 HTML 转换为图像,但我做不到。

我的 html 有标签以及图像的 base64 字符串数据。

如果我皈依,一切都会变空。

请帮帮我。

public void ConvertHtmlToImage()
{
       Bitmap m_Bitmap = new Bitmap(400, 600);
       PointF point = new PointF(0, 0);
       SizeF maxSize = new System.Drawing.SizeF(500, 500);
       HtmlRenderer.HtmlRender.Render(Graphics.FromImage(m_Bitmap),
                                               "<html><body><p>This is a shitty html code</p>"
                                               + "<p>This is another html line</p>        <span style='left:356px;top:34px;position:absolute;'><img
                src='data:image/gif;base64,R0lGODlhFABgAJEAAAAAAP///////wAAACH5BAEAAAIALAAAAAAUAGAAAAKKjI+py+0Po5y02ouz3rz7nwAiMJHXaEZphYJMK60UrGK0i9yPXI6l7cNxeAeUbsFLBXMKkzLUNDyhxaJRdpxdQ1dnFfmdRqVWIvkcE+XUP7S0i8aO4e46mLpj2rnszbK29/IVE2Dm8gchljio0iekYSiUJWgR2WD0WDZ5p2WJ55kZKjpKWmp66lIAADs%3D'/></span>
</body>",point, maxSize);
m_Bitmap.Save(@"C:\Test.png", ImageFormat.Png);
}

提前致谢。

最佳答案

下载这个包:https://www.nuget.org/packages/CoreHtmlToImage/

然后写这段代码:

    static void Main(string[] args)
    {
        Console.WriteLine("Hello World!");

        var converter = new HtmlConverter();
        var html = "<html>" +
            "<body>" +
            "<p>This is a shitty html code</p><p>This is another html line</p>" +
            "<span style='left:356px;top:34px;position:absolute;'>" +
            "<img src='data:image/gif;base64,R0lGODlhFABgAJEAAAAAAP///////wAAACH5BAEAAAIALAAAAAAUAGAAAAKKjI+py+0Po5y02ouz3rz7nwAiMJHXaEZphYJMK60UrGK0i9yPXI6l7cNxeAeUbsFLBXMKkzLUNDyhxaJRdpxdQ1dnFfmdRqVWIvkcE+XUP7S0i8aO4e46mLpj2rnszbK29/IVE2Dm8gchljio0iekYSiUJWgR2WD0WDZ5p2WJ55kZKjpKWmp66lIAADs%3D'/>" +
            "</span>" +
            "</body>" +
            "</html>";
        var bytes = converter.FromHtmlString(html);
        File.WriteAllBytes("image.jpg", bytes);
    }

运行你会得到你的页面:

enter image description here

关于c# - 使用 C# 将 HTML 转换为图像。 Html 有标签以及 base64 字符串问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57109842/

相关文章:

c# - 可以将 NHibernate 字符串类型配置为默认为 AnsiString 吗?

javascript - 使用 Python 检测 HTML 页面上的 JavaScript

html - 如何定位特定标签以受特定 CSS 文件影响

c# - Duende身份服务器: How to return external provider tokens also to the Angular/WPF/MVC client along with Duende tokens

c# - 如何在 asp.net 应用程序中实现编辑功能?

c# - 我如何知道 WPF 窗口是否打开

c# - 在 C# .NET 4.5 中使用 SAML 2.0

c# - Entity Framework 遍历并返回自引用表中的子记录

c# - 使用 Int64 进行通用转换

html - 将一个 div 放在另一个 div 中,在两个 div 之间保持空格