Ruby on rails 4 未应用PDFkit*.css样式表

Ruby on rails 4 未应用PDFkit*.css样式表,ruby-on-rails-4,pdfkit,Ruby On Rails 4,Pdfkit,我正在尝试使用pdfkit将显示facebook cdn图像的html页面转换为pdf。我使用的是rails 4.2、pdfkit 0.6.2和wkhtmltopdf二进制文件0.9.9.3 # Gemfile gem 'pdfkit' gem 'wkhtmltopdf-binary' # controller def generate_pdf @booklet = Booklet.find params[:id] @cover = Image.last @images = @bo

我正在尝试使用pdfkit将显示facebook cdn图像的html页面转换为pdf。我使用的是rails 4.2、pdfkit 0.6.2和wkhtmltopdf二进制文件0.9.9.3

# Gemfile
gem 'pdfkit'
gem 'wkhtmltopdf-binary'

# controller
def generate_pdf
  @booklet = Booklet.find params[:id]
  @cover = Image.last
  @images = @booklet.images.sort_by(&:uploaded_at)
  respond_to do |format|
    format.html
    format.pdf do
      html = render_to_string(layout: true , action: "generate_pdf.html.haml")
      kit = PDFKit.new(html, page_size: 'A4', orientation: 'Landscape')
      `sass vendor/assets/stylesheets/bootstrap.scss tmp/bootstrap.css`
      `sass vendor/assets/stylesheets/custom.scss tmp/custom.css`
      kit.stylesheets << "#{Rails.root}/tmp/bootstrap.css"
      kit.stylesheets << "#{Rails.root}/tmp/custom.css"
      pdf = kit.to_pdf
      send_data pdf, filename: 'booklet.pdf', type: 'application/pdf'
    end
  end
end

# application.scss
@import 'bootstrap';                                                                                                                                           
@import 'custom';

# config/application.rb
require 'pdfkit'
config.middleware.use PDFKit::Middleware

# config/initializers/mime_types.rb
Mime::Type.register "application/pdf", :pdf unless Mime::Type.lookup_by_extension(:pdf)
#文件
gem'pdfkit'
gem“wkhtmltopdf二进制文件”
#控制器
def生成pdf
@小册子=小册子.find参数[:id]
@封面=Image.last
@images=@book.images.sort_by(&:upload_at)
回应待办事项|格式|
format.html
format.pdf do
html=render_to_string(布局:true,操作:“generate_pdf.html.haml”)
kit=PDFKit.new(html,页面大小:“A4”,方向:“横向”)
`sass供应商/资产/样式表/bootstrap.scss tmp/bootstrap.css`
`sass供应商/资产/样式表/custom.scss tmp/custom.css`

kit.stylesheets对于应用程序中的其他页面,引导是否正常工作?--其目的是确保正确配置了meta标记以包含引导文件,并且指向引导文件(似乎位于/tmp?)

另外,您在什么操作系统上编写代码?我建议用
Rails.root.join('tmp','bootstrap.css')替换
“#{Rails.root}/tmp/bootstrap.css”


让我知道这些是否有帮助。

由于资产管道的原因,Rails 3.1和PDF工具包似乎存在运行问题。我在这里发现了一个类似的问题,希望能有所帮助@cmw2379我尝试了解决方案,但没有成功。你能克隆回购协议并试一试吗?如果我今晚有时间,我会试一试。切换到wicked_pdf gem。包含的资产助手工作得很好,gem实际上组织和记录得更好。发布这个问题几天后,我很匆忙,所以转到了wicked_pdf。成功了。谢谢