-
Notifications
You must be signed in to change notification settings - Fork 119
Open
Description
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?
Metadata
Metadata
Assignees
Labels
No labels
