11
votes

Générez PDF de Rails 3 - Quel outil choisir?

Je dois être en mesure de rendre des points de vue que les fichiers PDF à partir d'un Rails 3 projet. Je n'ai jamais avant que les techniques utilisées de génération de PDF avec rubis / rails, donc je fait des recherches sur quelques approches populaires tels que Prawn et PDF :: Writer , mais tous les exemples et articles J'ai trouvé à ce jour semblent désuètes et seulement applicable pour les rails 2.x. Je ne l'ai pas encore vu un exemple Rails3 de travail; moi-même essayé d'installer les pierres précieuses et langoustine de prawnto et de reproduire l'exemple décrit dans cet épisode Railscasts , mais je reçois erreur de méthode prawnto ne pas être reconnu. Je suis certain de savoir si cela a été une erreur de mise en œuvre ou juste un signe d'incompatibilité, mais en voyant d'autres personnes partagent sur le web que langoustine ne travaille plus pour eux dans Rails3 ne me dérangeait tracer la code supplémentaire.

Quelqu'un at-il trouvé une solution fiable de travail pour la production de pdf en Rails3? Pourriez-vous peut-être ou me diriger vers des ressources externes et la documentation? Un grand merci!


2 commentaires

Theres aussi un railscast sur pdfkit - railscasts.com/episodes/220-pdfkit


wicked_pdf est comment je le fais maintenant, voir réponse par @thilo


5 Réponses :


7
votes

Avez-vous vu pdfkit ? Je suis sûr que cela fonctionne avec des rails 3, il s'agit d'un morceau de middleware rack pouvant convertir n'importe quelle page HTML en PDF qui correspond à une itinéraire se terminant par .pdf


0 commentaires

11
votes

Crevet fonctionne avec des rails 3. Je l'ai personnellement utilisé sans problèmes. Vous devez obtenir les dernières versions du gemme et le Prafto Plugin pour rails.

PDFKit a l'avantage d'utiliser le moteur de rendu WebKit, de sorte que vous pouvez utiliser CSS pour définir Vos mises en page et vous obtenez des pages Web assorties gratuitement avec Safari et Chrome. Il a une courbe d'apprentissage légèrement plus agréable que la crevette.


1 commentaires

Oui, la Prafto est morte maintenant. Mais la crevette peut toujours être utilisée avec des rails. Ryan Bates montre comment



11
votes

nouvelle réponse à une ancienne question, au cas où d'autres trébuchent sur ceci: WICKEDPDF (qui utilise WKHTMLTOPDF, tout comme PDFKit) en fait un snap.

https://github.com/mileSzs/wicked_pdf


0 commentaires

1
votes

Vous pouvez utiliser le rapport GEM, qui génère un PDF mais aussi XLSX et CSV.

@manufacturers = Manufacturer.all
respond_to do |format|
  format.html # index.html.erb
  format.json { render json: @manufacturers }
  format.pdf do
    report = ManufacturerReport.new(@manufacturers) # using the commented-out code
    send_file report.pdf.path, :type => 'application/pdf', :disposition => 'attachment', :filename => 'ManufacturersReport.pdf'
    # tmp files are periodically cleaned up by the operating system, but if you want to be extra clean you can call
    # report.cleanup
    # but this may remove the tmp files before apache/nginx/etc. finishes delivering the file
  end
end


0 commentaires

2
votes

À propos de la crevette, voici une intégration transparente pour les rails 3 qui semble fonctionner juste bien: https: // github.com/whoops/prown-rails


0 commentaires