Rails - PDFKit 页脚不工作
Rails - PDFKit Footer not working
在我的 Rails 应用程序中,我尝试使用 PDF-Kit
生成 PDF 文件。
我正在尝试向 PDF 添加页脚。每当我尝试添加辅助方法 :footer_html
时,我都会收到错误消息,但是,我可以在不使用它的情况下生成 PDF。
控制台上的错误是,
Error: Failed loading page http:/home/rmed179lt/workspace/ror/ROOT_PROJECT/views/mlap_reports/footer.html?page=1§ion=&subsection=&frompage=1&subsubsection=&topage=1&webpage=foobar&time=8:50 PM&date=15/02/16 (sometimes it will work just to ignore this error with --ignore-load-errors)
QPaintDevice: Cannot destroy paint device that is being painted
kit = PDFKit.new(html, page_size: 'Letter', :footer_html => "/mlap_reports/footer.html")
我也试过了,
kit = PDFKit.new(html, page_size: 'Letter', :footer_html => "/mlap_reports/footer")
我的页脚位于 app/views/mlap_reports/footer.html
。任何想法如何解决这个问题?
终于找到解决办法了。这是一个与PDFKit相关的错误gem,我已经通过以下代码绕过了它。(直接调用wkhtmltopdf并提供页脚作为参数)。
footer_html = ac.render_to_string("#{Rails.root}/app/views/mlap_reports/footer", locals: {name: "demo"})
File.open("#{Rails.root}/public/footer.html", "w") { |file| file.write(footer_html) }
body_path = "#{Rails.root}/public/body.html"
footer_path = "#{Rails.root}/public/footer.html"
status_code = system("wkhtmltopdf --page-size Letter --footer-spacing -10 --footer-html #{footer_path} #{body_path} #{Rails.root}/public/checkthis.pdf")
如果您必须添加页脚,您可以直接调用 wkhtml。
我使用了临时文件:
footer_html = Tempfile.new(['footer_html', '.html'])
footer_html.write(render_to_string(partial: 'pdf/footer'))
footer_html.close
kit =
PDFKit.new(render_to_string('pdf/show',
layout: false,
footer_html: footer_html.path)
pdf_inline = kit.to_pdf
footer_html.unlink
pdf_inline
在我的 Rails 应用程序中,我尝试使用 PDF-Kit
生成 PDF 文件。
我正在尝试向 PDF 添加页脚。每当我尝试添加辅助方法 :footer_html
时,我都会收到错误消息,但是,我可以在不使用它的情况下生成 PDF。
控制台上的错误是,
Error: Failed loading page http:/home/rmed179lt/workspace/ror/ROOT_PROJECT/views/mlap_reports/footer.html?page=1§ion=&subsection=&frompage=1&subsubsection=&topage=1&webpage=foobar&time=8:50 PM&date=15/02/16 (sometimes it will work just to ignore this error with --ignore-load-errors) QPaintDevice: Cannot destroy paint device that is being painted
kit = PDFKit.new(html, page_size: 'Letter', :footer_html => "/mlap_reports/footer.html")
我也试过了,
kit = PDFKit.new(html, page_size: 'Letter', :footer_html => "/mlap_reports/footer")
我的页脚位于 app/views/mlap_reports/footer.html
。任何想法如何解决这个问题?
终于找到解决办法了。这是一个与PDFKit相关的错误gem,我已经通过以下代码绕过了它。(直接调用wkhtmltopdf并提供页脚作为参数)。
footer_html = ac.render_to_string("#{Rails.root}/app/views/mlap_reports/footer", locals: {name: "demo"})
File.open("#{Rails.root}/public/footer.html", "w") { |file| file.write(footer_html) }
body_path = "#{Rails.root}/public/body.html"
footer_path = "#{Rails.root}/public/footer.html"
status_code = system("wkhtmltopdf --page-size Letter --footer-spacing -10 --footer-html #{footer_path} #{body_path} #{Rails.root}/public/checkthis.pdf")
如果您必须添加页脚,您可以直接调用 wkhtml。
我使用了临时文件:
footer_html = Tempfile.new(['footer_html', '.html'])
footer_html.write(render_to_string(partial: 'pdf/footer'))
footer_html.close
kit =
PDFKit.new(render_to_string('pdf/show',
layout: false,
footer_html: footer_html.path)
pdf_inline = kit.to_pdf
footer_html.unlink
pdf_inline