4

我正在使用 Rails 3.2 和 wicked_pdf + wkhtmltopdf-binary gem,我试图在 pdf 中渲染图像,但它不起作用,

我试过了

<%= image_tag "image.png" %> 

<img src="/assets/images/image.png">
<img src="/public/image.png">

没有成功。

除了图像之外,pdf 的其余部分渲染得很好,我做错了什么?

4

3 回答 3

7

wkhtmltopdf 需要知道图像文件的完整路径,并且您要提供相对文件。要么更新它们以使用完整的 URL,要么尝试使用wicked_pdf_image_tag帮助程序。我没有尝试过后一种路线,但它应该可以解决你想要做的事情。

这是一个关于它的GH问题

于 2013-02-14T16:15:19.083 回答
0

我以前处理过这个问题。我找到的解决方案是使用请求协议和主机返回图像位置,这样:

%img{src: "#{request.protocol}#{request.host_with_port}#{asset_path('image.png')}" }

%img我使用的图像标签 ( ) 是带有haml语法的标签,这里的关键是图像的路径路径,与 html 或 haml 标签无关:

"#{request.protocol}#{request.host_with_port}#{asset_path('image.png')}"

wkhtmltopdf 就像一个外部代理:需要绝对路径。希望能帮助到你。

于 2019-11-27T12:43:31.817 回答
0

我有同样的问题图像没有在 pdf 中呈现,我发现wkhtmltopdf 0.12.6引入了一项重大更改,从现在开始,默认情况下本地文件访问将被阻止,并且要启用它,我们必须明确添加enable_local_file_access: true我们的 pdf 正在呈现的位置. 您可以按照此处的预先使用说明进行操作。

于 2021-11-17T16:51:08.077 回答