【问题标题】:Wicked_PDF/wkhtmltopdf different font and page width sizes from pdfs in different controllersWicked_PDF/wkhtmltopdf 来自不同控制器中 pdf 的不同字体和页面宽度大小
【发布时间】:2015-01-15 19:48:12
【问题描述】:

设置:Rails 4.1.1 应用程序使用 gem 'wicked_pdf', '~> 0.11.0' 和手动安装的 wkhtmltopdf 二进制版本 0.12.1(带有修补的 qt)

我有两个控制器生成相似的 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 内容宽度稍窄,因此文本大小也更小。使用 debug 参数渲染 html 会给出相同的页面,而检查 css 则没有差异。我使用 Foundation 作为 CSS 框架,但我认为这并不重要。

我阅读了一些关于 wkhtmltopdf 的 --disable-smart-shrinking 选项的信息,但我不确定 wicked_pdf 是否使用了该选项,如果是,如何/是否可以在 wicked_pdf.rb 初始化程序中进行更改。我还将 dpi 和不同的值设置为无效。调整页边距会有所帮助,但不能解决根本问题。如果需要,我可以添加屏幕截图,但我认为没有它们问题应该很清楚。

感谢有关如何解决问题或使用 wicked_pdf 调整 wkhtmltopdf 选项的任何帮助。

【问题讨论】:

    标签: ruby-on-rails wkhtmltopdf wicked-pdf


    【解决方案1】:

    我偶然发现了这个。似乎问题是由我使用 Chart.js 和一个尺寸大于其容器的 元素所做的其他事情引起的。

    我不完全了解导致问题的原因。它也可能连接到我也在使用的 Foundation 框架中的一些 CSS。不过,我会发布这个答案,以防它帮助其他人解决同样的问题。

    我不会接受这个作为答案,因为它没有具体回答问题,也没有说明如何

    “使用 wicked_pdf 调整 wkhtmltopdf 选项。”

    如果有其他人可以回复,我会接受。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多