2009-08-19 11 views
2

Ok, quand je vais créer des rapports avec Java, j'utilise iReport pour les modèles de modèles JasperReports.Est-ce que quelqu'un a essayé html2pdf dans django?

Mais avec python, l'alternative est html2pdf - pisa.

Ce serait génial de voir un exemple de ceci. Tout indice serait apprécié.

+0

De quoi parlez-vous? Demandez-vous de voir une application Django qui appelle Java pour exécuter des rapports Jasper? Pourquoi quelqu'un ferait-il cela quand il aura ReportLab? –

+0

Comme iReport est un outil de reporting visuel pour JasperReports (java), quel outil est un outil de reporting visuel pour Reportlab? – panchicore

+0

@panchicore: Votre commentaire ne correspond pas du tout à votre question. Si votre commentaire est correct, pourriez-vous corriger le titre de votre question? Il est assez difficile de concilier le titre, la question et le commentaire. –

Répondre

4

Le logiciel de comptabilité que nous développons utilise pisa pour générer des rapports PDF. Le processus est comme ceci:

  1. Render un modèle HTML
  2. Convertir la chaîne rendu au format pdf. Vous pouvez utiliser directement l'objet HttpResponse que vous retournerez en tant que fichier de sortie, ou un objet StringIO pour stocker le fichier PDF et envoyer son contenu via HttpResponse.
  3. Le type MIME de l'objet HttpResponse doit être défini sur application/pdf et utiliser l'en-tête Content-Disposition si vous souhaitez déclencher le téléchargement au lieu de l'afficher dans le navigateur.

Pisa utilise des propriétés CSS uniques pour spécifier la mise en forme liée au format pdf (taille de page, saut de page, etc.). Leurs documents fournissent des exemples suffisants à ce sujet.

Le rendu HTML/CSS de Pisa peut être assez différent de ce que l'on voit habituellement dans un navigateur. Par exemple, la mise en border="1" sur un <table> donnera toutes les cellules de la frontière de la table, les frontières sont toujours effondrés (attribut border-collapse n'a pas d'effet css), etc.

+0

Belle touche avec la mise en cache StringIO. – Thom

Questions connexes