Hi,
I’m unable to embed an image in the header/footer when generating a PDF with Grover in ruby on rails.
- Plain image
<img src="img.jpg"> renders fine in the body, but is silently omitted from the header (even if the image is below 8kb).
header_html = "<h1>Test</h1><img src='https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcT7AvKmIcAF9QUdS96opCZooZxVua16crDwkg&s'>"
html = "<h1>test</h1>#{header_html}"
grover = Grover.new(html,
:print_background => true,
:display_header_footer => true,
:wait_until => "networkidle0",
:header_template => header_html,
:margin => {
:top => "3cm",
:bottom => "3cm"
})
pdf = grover.to_pdf
return send_data(pdf, :filename => "my_pdf_#{Time.now.to_i}.pdf", :type => "application/pdf", :disposition => "inline")
Result:

- Base64‑encoded
causes the entire Page.printToPDF call to fail with: Protocol error (Page.printToPDF): Printing failed.
base64_image = "data:image/jpg;base64,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"
header_html = "<h1>Test</h1><img alt='no-image' src='#{base64_image}'>"
html = "<h1>test</h1>#{header_html}"
grover = Grover.new(html,
:print_background => true,
:display_header_footer => true,
:wait_until => "networkidle0",
:header_template => header_html,
:margin => {
:top => "3cm",
:bottom => "3cm"
})
pdf = grover.to_pdf
return send_data(pdf, :filename => "my_pdf_#{Time.now.to_i}.pdf", :type => "application/pdf", :disposition => "inline")
Removing :header_template (so the PDF has no header) makes the PDF generation succeed again.
Am i doing something wrong, or could you tell me the current limitations Grover has when it comes to rendering images in header and footer templates?
Hi,
I’m unable to embed an image in the header/footer when generating a PDF with Grover in ruby on rails.
<img src="img.jpg">renders fine in the body, but is silently omitted from the header (even if the image is below 8kb).Result:
Protocol error (Page.printToPDF): Printing failed.Removing
:header_template(so the PDF has no header) makes the PDF generation succeed again.Am i doing something wrong, or could you tell me the current limitations Grover has when it comes to rendering images in header and footer templates?