2011-12-16 2 views
4

У меня встроенный pdfkit с моим рельсом 3, добавив его в промежуточное ПО, и он отлично работает. На каждой странице, которая имеет .pdf, отображается pdf-версия страницы в браузере.Загрузить pdf с помощью PDFKit

Я хочу, чтобы pdf-файл был загружен и не показан в браузере. Как я могу это сделать?

Спасибо

ответ

2

Я действительно столкнулся с этой проблемой. видя этот вопрос, я еще больше углубился в проблему. его немного сложно, но pdfkit на самом деле позволяет вам знать, по крайней мере, один из способов, по которому запрашивается .pdf. это, вероятно, может использовать некоторые очистить, но это то, что мы делаем в данный момент:

respond_with @object do |wants| 
    wants.html { 
    if request.env["Rack-Middleware-PDFKit"] 
     pdf_page = render_to_string :layout => "print_out" 
     send_data pdf_page, :filename => "file.pdf" 
    else 
     render :layout => "print_out" 
    end 
    } 
end 
0

Это легко,

send_data @pdf, :filename => "whatever.pdf", 
      :type => "application/pdf", 
      :disposition => "inline" # either "inline" or "attachment" 

встраиваемого вариант (просматривать PDF-файл в браузере) или вариант крепления (PDF файл загружается)

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