来自 html 的图像在转换为 JPG 时未呈现 - IMGKit gem

Posted

技术标签:

【中文标题】来自 html 的图像在转换为 JPG 时未呈现 - IMGKit gem【英文标题】:Image from html not rendered while converting it into JPG - IMGKit gem 【发布时间】:2020-05-02 15:24:09 【问题描述】:

我想使用 IMGKit gem 和 wkhtmltoimage-binary 将 HTML 页面转换为 JPG 图像,在我的 HTML 页面中,有一个 div 类,其背景是图像(内联样式),在转换此 HTML 页面时,不渲染 div 背景图像,并且在生成的图像中渲染剩余的样式和内容。我还尝试了 HTML 中的 IMG SRC 标签,图像也没有渲染。

html = %Q[<html><body><div style="background-image: url('https://upload.wikimedia.org/wikipedia/en/thumb/4/47/Iron_Man_(circa_2018).png/250px-Iron_Man_(circa_2018).png')">Vanakkam</div></body></html>]

kit = IMGKit.new(html,:height => 300,:quality => 50)

img = kit.to_img

img = kit.to_img(:jpg)

file = kit.to_file('file.jpg')

我不知道如何完成这项工作,rails 中有什么方法可以完成这项工作吗?

【问题讨论】:

你确定这在普通视图页面中有效吗?(转换图像)和 vanakkam 意味着泰米尔语? 是的,这工作正常,需要少量 css 调整,但样式工作正常! 【参考方案1】:

您可以尝试创建您的 HTML 页面而不是使用字符串数组吗?

那么您可以按照文档的建议简单地使用File.new

kit = IMGKit.new(File.new('/path/to/mysite.html'),:height => 300,:quality => 50)

【讨论】:

感谢这个想法,但我无法从文档中找出将我的 HTML 文件放在哪里,我创建了一个文件夹并将地址更改为它,但文件路径无法通过 File 访问.new 我尝试了你的建议,仍然没有呈现来自 html 的图像!

以上是关于来自 html 的图像在转换为 JPG 时未呈现 - IMGKit gem的主要内容,如果未能解决你的问题,请参考以下文章

如何将 html 地图转换为图像(png 或 jpg )

图像格式转换之BMP格式转换为JPG格式

ImageMagick 不会将 .png 转换为 .jpg

将ZPL字符串转换为JPG图像和PDF

HTML5 - 在 Android WebView 中首次加载时未呈现画布

在 OpenCV 中不使用 CvSaveImage 将 Mat 图像转换为 JPG [重复]