Eng*_*mon 5 html pdf-generation wkhtmltopdf ruby-on-rails-3 wicked-pdf
我正在使用wicked_pdfpdf从html我的rails项目生成.它正在渲染,template但我无法打印header/footer部分.下面是我的代码,只打印template部分
render pdf: "pdf_name",
layout: 'application',
template: 'reports/show',
formats: [:html],
margin: { top: 10, bottom: 10, left: 10, right: 10 },
disable_javascript: true,
show_as_html: params[:debug],
header: {
html: { template: 'shared/header' },
spacing: 10
},
footer: {
html: { template: 'shared/footer' },
spacing: 30,
line: true
}
Run Code Online (Sandbox Code Playgroud)
如果我尝试使用WickedPdf.new.pdf_from_string render_to_string它显示Failed to load PDF document错误甚至简单WickedPdf.new.pdf_from_string('<html><body><h1>Hello There!</h1></body></html>')不起作用.
我试过用render_to_string_with_wicked_pdf, render_with_wicked_pdf但没有成功.我的Rails版本是3.2.19,wicked_pdf宝石版本1.1.0和wkhtmltopdf版本是wkhtmltopdf-0.13.0-alpha-7b36694_linux-trusty-amd64.deb.我也试过用wkhtmltopdf版本0.12.0.
我的问题是
pdf_from_string不起作用?任何形式的帮助表示赞赏.谢谢.
使用wkhtmltopdf带有修补qt 的内置版本,适用于页脚和页眉.
$ wget http://download.gna.org/wkhtmltopdf/0.12/0.12.4/wkhtmltox-0.12.4_linux-generic-amd64.tar.xz
$ tar xf wkhtmltox-0.12.4_linux-generic-amd64.tar.xz
$ sudo mv wkhtmltox /usr/local/share/
$ sudo update-alternatives --install /usr/local/bin/wkhtmltopdf wkhtmltopdf /usr/local/share/wkhtmltox/bin/wkhtmltopdf 1005
Run Code Online (Sandbox Code Playgroud)
检查版本:
$ wkhtmltopdf --version
Run Code Online (Sandbox Code Playgroud)
它应该说:
wkhtmltopdf 0.12.4 (with patched qt)
Run Code Online (Sandbox Code Playgroud)
测试一下:
$ wkhtmltopdf --footer-center 'footer' http://www.google.com google.pdf
Run Code Online (Sandbox Code Playgroud)
你也可以安装wkhtmltoimage:
$ sudo update-alternatives --install /usr/local/bin/wkhtmltoimage wkhtmltoimage /usr/local/share/wkhtmltox/bin/wkhtmltoimage 1005
Run Code Online (Sandbox Code Playgroud)
你可以使用这样的脚本:wkhtmltox安装程序