2010-02-03 19 views
6

Je veux ajouter des fonctionnalités de reporting à mon application Rails et j'ai du mal à trouver le logiciel de reporting à utiliser pour créer mes documents PDF.Ruport vs Prawn envisageant une utilisation à long terme

Jusqu'à présent, je suis assez sûr que soit Ruport ou Prawn sont la meilleure voie à suivre. Après avoir expérimenté les deux, je trouve qu'ils sont tous deux très puissants et assez universels, mais ils ont aussi des particularités distinctes et je crains qu'à long terme je fasse le mauvais choix.

Comment Ruport et Prawn se comparent-ils entre eux à long terme dans une application vaste et complexe?

  • Maintenabilité? Le code générant le rapport va-t-il augmenter de façon exponentielle? Est-ce que le code a tendance à devenir cassant?
  • Disponibilité? La bibliothèque sera-t-elle encore active dans quelques années? (ruport-util semble être un peu démodé ...)
  • Personnalisation? Est-il facile de générer différentes mises en page pour différents clients en utilisant la même base de code?
  • Le plus important de tous: D'autres aspects que je ne connais pas que je devrais considérer avant de faire un choix?

Merci d'avance!

+0

Où faire les rapports seront consultés? En avez-vous particulièrement besoin en format PDF? – makevoid

+0

Oui, PDF. (Mise à jour de la question, aussi) –

Répondre

4

Je voudrais effacer la différence entre les projets. Ruport est un cadre minimal pour la création de rapports pouvant être générés dans de nombreux formats différents. Le formateur PDF inclus utilise l'ancien PDF Writer, qui est assez complet et stable mais qui est lent et gourmand en mémoire. Le but de Prawn est purement de rendre les fichiers PDF et il remplacera PDF Writer dans Ruport à un certain stade.

+0

Considérant que Prawn est plus récente et semble être développé plus activement, je vais miser sur Prawn. –

4

Si vous générez des PDF hors-ligne (c'est-à-dire qu'ils n'ont pas besoin d'être construits dynamiquement et envoyés immédiatement à l'utilisateur quand il les demande), je recommanderais d'utiliser ERb et LaTeX. Je l'ai utilisé avec succès pour générer des rapports pour les données d'enquête. La syntaxe pourrait être un peu rebutante si vous n'avez pas encore utilisé LaTeX mais ça valait le coup à mon avis. J'utilise également gnuplot pour générer des graphiques et des tracés à inclure dans les rapports.

+0

J'ai été brûlé par Ruport. En fait, je ne veux presque pas utiliser un système de rapport construit pour une langue spécifique, car je ne veux pas me brûler de nouveau. Mais, en utilisant LaTeX ... wow, je n'ai jamais considéré cela comme une option, mais ça peut marcher! Merci beaucoup d'avoir posté cela. –

1

Je dis: "Go for Prawn". La raison en est que le gars qui travaille sur Prawn est actif sur la liste de diffusion Ruby, alors que je ne sais pas qui gère Ruport.

+0

Les deux bibliothèques proviennent du même gars - Gregory Brown. Prawn est plus tard, et je pense qu'il ne peut plus être le leader sur Ruport, mais il a écrit le livre: http://ruportbook.com/ –

+0

Cela pourrait indiquer que Ruport ne sera pas aussi activement développé que Prawn dans le futur . –

1

Le seul inconvénient que j'ai remarqué avec Prawn est que vous ne pouvez pas avoir des cellules multi-colonnes dans les tables. Par exemple - une ligne d'en-tête qui couvre toutes les colonnes. Je devine la même chose avec Ruport. N'importe qui peut me corriger si je me trompe - j'adorerais utiliser la crevette, mais j'ai besoin de tables personnalisées et je ne veux pas les utiliser à la main.

Actuellement j'utilise HTMLDDOC, qui traduit les vues html en documents pdf. L'inconvénient avec HTMLDOC est le manque de support CSS.

2

D'accord - go pour crevettes. Quelques commentaires de l'utilisation de Prawn

  • La documentation est bonne et il y a des exemples simples sur la façon de commencer. Voir Using Prawn in Rails
  • meilleur endroit pour trouver les exemples est dans les pierres précieuses installées - vérifier sous le format langoustine et crevettiers mise en page répertoires
  • vous pouvez faire la plupart des choses dont vous avez besoin pour générer des rapports, etc.
+0

Je pense qu'il est intéressant de noter qu'à partir de la crevette 0.7.0+, le format de la crevette n'est plus supporté. – lillq