邪恶的pdf页面背景图像与pdf_from_string

问题描述 投票:0回答:1

我需要使用pdf_from_string方法为生成的PDF添加背景图像。

这是我的代码

pdf = WickedPdf.new.pdf_from_string(html,
           header: {
                content: render_to_string('pdf/pdf_header.html.erb', layout: 'pdf_layout.html.erb')
           },
           footer: {
                content: render_to_string('pdf/pdf_footer.html.erb', layout: 'pdf_layout.html.erb')
           },
           background: true,
           save_to_file: Rails.root.join("pdfs","#{pdf_name}.pdf"),
           save_only: true
        )

页眉和页脚工作正常,但我没有找到添加背景图像选项的方法,任何帮助都非常感谢。

ruby-on-rails ruby wicked-pdf
1个回答
1
投票

我通过使用render_to_string方法解决了这个问题,并将HTML内容作为本地传递给模板,如下所示:

pdf = WickedPdf.new.pdf_from_string(
        render_to_string('pdf/pdf_full_page.html.erb', layout:'pdf_layout.html.erb', locals: { content: html}),
           header: {
                content: render_to_string('pdf/pdf_header.html.erb', layout: 'pdf_layout.html.erb')
           },
           footer: {
                content: render_to_string('pdf/pdf_footer.html.erb', layout: 'pdf_layout.html.erb')
           },
           layout: 'pdf_layout.html.erb',
           debug: true,
           background: true,
           no_background: false,
           save_to_file: Rails.root.join("pdfs","#{pdf_name}.pdf"),
           save_only: true
        )

pdf_full_page.html.erb查看代码:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>PDF Full page</title>
</head>
<body>
    <%= content.html_safe %>
</body>
</html>

我希望它可以帮助别人

© www.soinside.com 2019 - 2024. All rights reserved.