【问题标题】:NReco.ImageGenerator doesn't show images and stylesNReco.ImageGenerator 不显示图像和样式
【发布时间】:2019-07-19 06:25:13
【问题描述】:

我正在尝试将我的简单 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文件

在浏览器中

我的代码输出

【问题讨论】:

  • 当您使用“GenerateImage”方法时,所有外部引用(图像、css、js 等)都应具有绝对 URL。仅当您使用“GenerateImageFromFile”时,相对 URL 才有效(顺便说一句,它接受 URL 作为文件名)。

标签: c# html nreco


【解决方案1】:

问题是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>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-09
    相关资源
    最近更新 更多