wkhtmltopdf背景图片问题

9

我正在Rails应用程序中使用wkhtmltopdf,并尝试通过将仅带边框的图像放置为另一个元素的background-image来设置边框(我之所以这样做是因为box-shadow在wkhtmltopdf中无法正常工作)。这在HTML视图中显示得很好,但在pdf中不起作用。我的CSS如下:

.box{ 
  background-image: url('/assets/posts/background_border.jpg'); 
  background-repeat: no-repeat; 
  height: 100px; 
  width: 100px; 
}

请告诉我如何解决这个问题。谢谢!

5个回答

4
使背景图片的URL绝对化。
background-image: url('http://localhost:8080/assets/posts/background_border.jpg'); 

3
我遇到了同样的问题,最终我解决了它。我得到了:
 Exit with code 1 due to network error: ContentNotFoundError

来自wktohtml

解决方法是从URL声明中删除引号,同时需要使用绝对URL。因此,请更改:

 background-image: url('/assets/posts/background_border.jpg')

To

  background-image: url(http://absolute_url_to_image_without_quote)

1
这可能与PDF生成时图片未加载有关。我使用命令行工具,并通过以下方式规避了问题:
--javascript-delay 3000

注意:这个解决方案已经成功地测试了相对路径和绝对路径,无论是否带有协议和域名。
请参阅可能相关的GitHub问题 "wkhtmltopdf background-image not working。"

0

您必须为资源提供绝对路径,例如在您的情况下是 /Users/projectname/assets/posts/background_border.jpg。


-1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接