Злой PDF не рендеринг верхнего / нижнего колонтитула

Я использую wicked_pdf для генерации pdf от html на моем проекте рельсов. Это рендеринг 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
               }

Если я попытаюсь использовать 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,

Мои вопросы

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

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

1 ответ

Решение

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

Другие вопросы по тегам