c# - NReco.ImageGenerator 不显示图像和样式
问题描述
我正在尝试将我的简单 html 文档转换为图像。我为此使用 NReco.ImageGenerator。但它不显示包含的图像和样式
我正在使用 Windows 10
这是我的代码
var html = File.ReadAllText("main.html");
var htmlToImageConv = new NReco.ImageGenerator.HtmlToImageConverter();
var jpegBytes = htmlToImageConv.GenerateImage(html, "png");
File.WriteAllBytes("image.png", jpegBytes);
它是html文档
在浏览器中
我的代码输出
解决方案
问题是 NReco 将无法在 html 中找到图像的文件。
立即想到的两种可能的解决方案。
将图像托管在有效的 URL 上,或在 html 中使用使用 base64 编码的内联图像。
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html" charset="utf-8">
<link href="style.css" rel="stylesheet">
</head>
<body>
<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAANwAAADcAQMAAAAhlF3CAAAABlBMVEX///8AAABVwtN+AAABCUlEQVRYhe3XMQ6DMAwF0I8YMuYIHIWjNUfjKByBkQGR2okTUFXaMPMttbR5TJadOIglAgB9YiwrC4iKEzT6GAb5PzvBNa3gRTT0mqn+lL61k8dOvIeSW8ARr1EqkHgfa/NuwCCN+72zH4wlFPP2VlaI//EUWn2X8Vy0TPXylasvTm7HuHR6IhAbMO1kApu9qc3rd8stMW9vegjE2p976tFAbECN4LXyZPwYLLfEA6UVc/rqhAHpT6s+4l+sMcQDbXsjhnIAaLFZ5UnDdulDbMEpJdaumLP+dvY20fB0xTzS54l3MZ8QUeeRMU//RHymr04YxFYszVvnW8svMZYbQI56CcepP4m/8Q15PctBEVIBfQAAAABJRU5ErkJggg==" />
<p class="text">Some text</p>
</body>
</html>
或使用本地文件 url,如 file:///
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html" charset="utf-8">
<link href="style.css" rel="stylesheet">
</head>
<body>
<img src="file:///C:/Users/jdarling/Desktop/SO_20190718/images/back.png" />
<p class="text">Some text</p>
</body>
</html>
推荐阅读
- node.js - 安装错误 - libcurl 中不支持或禁用协议“https”
- html - 在 Bootstrap css 网格中展开列移动其他列
- reactjs - 使用 Jest 进行单元测试,预计接收空/未定义对象会出现问题
- json - 泽西和杰克逊日期格式问题
- sql - 从表中的多个重复项中删除特定记录
- sql-server-2008 - 清理一张非常大的桌子
- windows - GitBash 在 Windows 10 中自动卸载
- html - 如何创建具有实线边框的元素网格?
- node.js - MongoDB 搜索用户:使用正则表达式根据名称进行过滤
- asp.net-core - IIS 上的 .NET Core 2.2 API 如果尝试连接到 Db 则会返回错误,但其他情况下工作正常