Rails - PDFKit页脚不起作用

时间:2016-02-15 15:26:26

标签: ruby-on-rails ruby-on-rails-3 wkhtmltopdf ruby-1.9 pdfkit

在我的Rails应用程序中,我正在尝试使用PDF-Kit生成PDF文件。 我正在尝试在PDF中添加页脚。每当我尝试添加辅助方法:footer_html时,我都会收到错误,但是,我可以在不使用它的情况下生成PDF。

控制台出错,

  

错误:加载页面失败http:/home/rmed179lt/workspace/ror/ROOT_PROJECT/views/mlap_reports/footer.html?page = 1& section =& subsection =& frompage = 1& subsubsection =& topage = 1& webpage = foobar& time = 8:50 PM& date = 15/02/16(有时它只会忽略此错误--ignore-load-errors)   QPaintDevice:无法销毁正在绘制的绘图设备

  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。任何想法如何解决这个问题?

2 个答案:

答案 0 :(得分:0)

最后,刚刚找到了解决方案。这是一个与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。

答案 1 :(得分:0)

我使用临时文件:

Console.WriteLine(Math.Pow((2.3 - (2 * 2.3) + (2.3 * 2.3)) / 0, 2));