Скачать PDF вместо того, чтобы показывать его в браузере - PullRequest
1 голос
/ 16 декабря 2011

Я использую pdfkit в своем приложении rails (я сделал это согласно Райану Бейтсу railscast ) В настоящее время он показывает PDF в браузере.

Как можно вместо этого скачать pdf?

Спасибо

EDIT:

Спасибо за ответ!

Но как мне создать данные pdf в контроллере?

PDF отображается автоматически, когда URL имеет .pdf. например при переходе по этой ссылке:

http://localhost:3000/home/index.pdf

Он автоматически открывает PDF-версию страницы в браузере (это установка промежуточного программного обеспечения для rails).

Ответы [ 2 ]

3 голосов
/ 16 декабря 2011

Попробуйте использовать метод send_data , который есть у всех контроллеров rails.

Примерно так:

# Generate a PDF document with information on the client and return it.
# The user will get the PDF as a file download.
def download_pdf
  send_data(generate_pdf, :filename => "my_file.pdf", :type => "application/pdf")
end
0 голосов
/ 16 декабря 2011

Предполагая, что это простая конечная точка стойки:

class PdfEndpoint
  def call(env)
    [200, {"Content-Type" => "application/pdf", "Content-Disposition" => "attachment", "filename" => "filename.pdf"}, pdf_data]
  end
end

Также может помочь следующий Railscast:

http://railscasts.com/episodes/151-rack-middleware

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...