4

Я использую wicked_pdf для создания pdf от html по моему проекту рельсов. Это рендеринг template, но мне не удалось распечатать разделы header/footer. Ниже мой код, печатать только template разделWicked pdf not rendering header/footer

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 
       } 

Если я пытаюсь использовать 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, но не удался. My Rails версия 3.2.19, wicked_pdf gem версия 1.1.0 и wkhtmltopdf версия wkhtmltopdf-0.13.0-alpha-7b36694_linux-trusty-amd64.deb. Я также попытался использовать wkhtmltopdf версии 0.12.0.

Мои вопросы

  1. Почему мой выше реализация не работает?
  2. Почему pdf_from_string не работает?

Любые виды помощи приветствуются. Благодарю.

ответ

4

Используйте версию 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 

проверка версии:

$ wkhtmltopdf --version 

он должен сказать:

wkhtmltopdf 0.12.4 (with patched qt) 

тест это:

$ wkhtmltopdf --footer-center 'footer' http://www.google.com google.pdf 

вы также можете установить wkhtmltoimage:

$ sudo update-alternatives --install /usr/local/bin/wkhtmltoimage wkhtmltoimage /usr/local/share/wkhtmltox/bin/wkhtmltoimage 1005 

вы можете использовать скрипт так: wkhtmltox installer

+1

Спасибо, это сделало мой день :) –

+1

Это работа для меня. :) – tanvir002700