使用sinatra和pdf生成pdf。 pdf在浏览器中显示奇数

时间:2015-09-07 10:07:28

标签: sinatra wkhtmltopdf pdfkit

我正在使用pdfkit通过以下代码生成pdf:

get "/:lang/:course/:project/protected/:project.pdf" do
    PDFKit.configure do |config|
    config.wkhtmltopdf = '/usr/local/bin/wkhtmltopdf'
    config.default_options = {
      :page_size => 'A3',
      # :load_error_handling => 'skip',
      # :load_media_error_handling => "ignore",
      # :debug_javascript => true,
      # :javascript_delay => "300",
      :print_media_type => true,
      :margin_top => "8mm",
      :margin_bottom => "5mm",
      :footer_spacing => "-8",
     }
   end 
    kit = PDFKit.new("http://localhost:4000/#{params[:lang]}/#{params[:course]}/#{params[:project]}/")
    kit.to_pdf

我可以在我的puma日志中看到它正在生成pdf,但是当它加载页面时我会看到以下内容:

enter image description here

看起来它试图渲染pdf,但由于我不知道的原因,它会显示出来。我在Chrome和& Firefox浏览器。

有人能指出我正确的方向吗?

1 个答案:

答案 0 :(得分:3)

在get请求中,我需要添加以下代码:

headers['Content-Type'] = 'application/pdf'