2015-01-15 2 views
1

установки: Rails 4.1.1 приложений с использованием gem 'wicked_pdf', '~> 0.11.0' и вручную установленного wkhtmltopdf бинарной версии 0.12.1 (с исправленной QT)Wicked_PDF/wkhtmltopdf различных шрифтов и ширина страницы размеры от PDFs в разных контроллерах

У меня есть производящий два контроллера аналогичные отчеты в формате PDF, которые содержат несколько страниц. У меня есть частичные для страниц, которые разделяются между двумя типами отчетов.

код контроллера:

# GET /assessments/1 
def show 
    respond_to do |format| 
    format.html 
    format.pdf do 
     render pdf:   "Individual_Report-#{Date.today}", 
      disposition: "inline", 
      layout:  "pdf", 
      dpi:   "300", 
      encoding:  "UTF-8", 
      show_as_html: params[:debug].present? 
    end 
    end 
end 

# GET /reports/1 
def show 
    respond_to do |format| 
    format.html 
    format.pdf do 
     render pdf:   "Team_Report-#{Date.today}", 
      disposition: "inline", 
      layout:  "pdf", 
      dpi:   "300", 
      encoding:  "UTF-8", 
      show_as_html: params[:debug].present? 
    end 
    end 
end 

код Вид:

# layouts/pdf.slim 
doctype html 
html 
    head 
    meta charset="utf-8" 
    title 
     = content_for?(:title) ? yield(:title) : 'Main Title' 
    == wicked_pdf_stylesheet_link_tag "application", :media => 'all' 
    == wicked_pdf_stylesheet_link_tag "print", :media => 'all' 
    == wicked_pdf_javascript_include_tag 'vendor/modernizr' 
    == csrf_meta_tags 
    body data-action=action_name data-controller=controller_name data-format="pdf" 
    main 
     == yield 
    == wicked_pdf_javascript_include_tag 'application' 
    javascript: 
     window.jQuery || alert("false"); 

# assessments/show.pdf.slim 
= render "shared/cover", m: @assessment, t: "Individual" 
= render "shared/about" 
= render "shared/team", report: @report 
# etc. etc. this is where the reports differ 

# reports/show.pdf.slim 
= render "shared/cover", m: @report, t: "Team" 
= render "shared/about" 
= render "shared/team", report: @report 
# etc. etc. this is where the reports differ 

Однако в отчете от контроллера оценок генерирует PDF, который имеет несколько меньшую ширину контента и, соответственно, меньший размер текста. Рендеринг html с параметром debug дает идентичные страницы, и проверка css не показывает различий. Я использую Foundation в качестве рамки css, но я не думаю, что это важно.

Я прочитал некоторые о опции wkhtmltopdf --disable-smart-shrinking, но я не уверен, что это используется wicked_pdf, и если да, то как это сделать, если он может быть изменен в инициализаторе wicked_pdf.rb. Я также установил dpi и разные значения. Настройка полей страницы помогает некоторым, но не устраняет основную проблему. Я могу добавить скриншоты, если это необходимо, но я думаю, что проблема должна быть достаточно ясной без них.

Спасибо за любую помощь по устранению проблемы или настройке параметров wkhtmltopdf с помощью wicked_pdf.

ответ

1

Я понял это один случайно. Кажется, проблема была вызвана чем-то другим, что я делал с Chart.js и элементом canvas> <, размер которого был больше, чем его контейнер.

Я не совсем понимаю, что вызвало проблему. Возможно, он также был связан с некоторыми CSS из фреймворка Foundation, который я также использую. Тем не менее, я отправлю этот ответ, если он поможет другим решить ту же проблему.

Я не буду принимать это как ответ, так как он конкретно не отвечает на вопрос и не рассматривается как

«настроить параметры wkhtmltopdf с помощью wicked_pdf.»

Если кто-либо еще может ответить на это, я согласен с этим.

Смежные вопросы