фоновое изображение злой страницы PDF с pdf_from_string - PullRequest
0 голосов
/ 28 апреля 2019

Мне нужно добавить фоновое изображение в сгенерированный PDF, используя метод pdf_from_string.

Это мой код

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
        )

верхний и нижний колонтитулы работают нормально, но я не нашелспособ добавить опцию фонового изображения, любая помощь высоко ценится.

1 Ответ

1 голос
/ 29 апреля 2019

Я решил проблему, используя метод 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>

Надеюсь, это поможет кому-то еще

...