Rails: как сохранить PDF-файл, созданный с использованием wicked pdf - PullRequest
4 голосов
/ 15 февраля 2011

Я использую WickedPdf

respond_to do |format|
  format.html
  format.pdf do
    render :pdf => "file_name"
  end
end  

Это работает нормально. Пользователь может скачать сгенерированный PDF. но мне нужно хранить сгенерированный PDF на сервере для других целей, таких как рассылка и т. д. и т. д. Как я могу сохранить этот сгенерированный PDF?

я попробовал следующее, но не представляю, как передать html в wickedpdf. wicked_pdf не работает - Ruby on Rails

спасибо заранее

Ответы [ 2 ]

9 голосов
/ 24 апреля 2011

Вы, наверное, уже поняли это, но я сейчас изучаю WickedPdf и только что узнал, как сохранить прямо в вашем контроллере в блоке response_to. На странице Git есть отличная документация для этого https://github.com/mileszs/wicked_pdf. Вот что у меня есть в контроллере для действия show:

  def show
@user = User.find(params[:id])
respond_to do |format|
  format.html # show.html.erb
  format.pdf do
    render :pdf => "#{@user.name}",
    :save_to_file => Rails.root.join('pdfs', "#{@user.name}.pdf")
  end
end
end  

В итоге мы сохраняем его в папке в моем корне, которая называется "pdfs", под именем username.pdf. Надеюсь, это поможет.

1 голос
/ 15 февраля 2011

Насколько мне известно, вы не можете сохранять файлы из блока response_to напрямую, вам понадобится какой-то сценарий, который фактически посещает эту страницу с расширением .pdf и сохраняет его.

Я рекомендую wkhtmltopdf , так как я использую его довольно часто, и он очень хорошо отрисовывает PDF. Это позволит вам сохранить PDF в файловой системе.

...