IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Python Discussion :

Reportlab --> format landscape & error


Sujet :

Python

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 3
    Points : 3
    Points
    3
    Par défaut Reportlab --> format landscape & error
    Bonjour à vous!

    apres pas mal de recherches infructueuses je me tourne vers vous en dernier recours...

    voici mon probleme:
    - j'utilise la librairie "reportlab" de python pour générer des pdf.
    Jusque la pas de soucis , je genere mon pdf correctement rempli etc

    seulement voulant y insérer des graphs j'ai besoin de passer en format "paysage" ou "landscape"

    voici la ligne de creation du pdf et de la specificaton du format:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    from reportlab.lib.pagesizes import landscape,A4,letter,portrait
     
    # Création du document PDF
    p = canvas.Canvas( destination_file, reportlab.lib.pagesizes.landscape)
    le code fait donc appel au script "canvas.py" de la lib reportlab
    et c'est à la ligne 376 de ce script qu'une erreur "pop":

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Traceback (most recent call last):
      File "reportsquidlog.py", line 133, in <module>
        p.showPage()        # Nouvelle page PDF
      File "/usr/lib/python2.5/site-packages/reportlab/pdfgen/canvas.py", line 376, in showPage
        page.pagewidth = self._pagesize[0]
    TypeError: 'function' object is unsubscriptable
    voila le bout de code qui genere l'erreur dans canvas.py:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    # ensure a space at the end of the stream - Acrobat does
            # not mind, but Ghostscript dislikes 'Qendstream' even if
            # the length marker finishes after 'Q'
            self._code.append(' ')
            page = pdfdoc.PDFPage()
    		
            page.pagewidth = self._pagesize[0]           
            page.pageheight = self._pagesize[1]
            page.Rotate = self._pageRotation
    c'est donc la ligne rouge


    d'apres ce que j'ai vu sur le net une "unsubscriptable error" provient généralement d'un manque ou d'un mauvais cast...

    quelqu'un aurait il deja utiliser le format landscape/portrait avec reportlab
    et pourrait m'aider svp?

    d'avance merci

  2. #2
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 3
    Points : 3
    Points
    3
    Par défaut
    Bien j'ai trouvé la solution lol

    si ca peut aider:
    landscape n'est pas un format a proprement parler
    en ouvrant le fichier pagesizes.py , on voit que c'est une fonction à appliquer à un format

    en l'occurence la solution etait:

    canvas.Canvas(filename , pagesize = landscape(A4))


+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Erreur sévère 62 : syntax error in format
    Par Invité dans le forum Fortran
    Réponses: 4
    Dernier message: 04/06/2008, 22h20
  2. [win98]format error (not supported on drive C)
    Par Fabouney dans le forum Windows 2000/Me/98/95
    Réponses: 3
    Dernier message: 03/01/2007, 14h32
  3. Excel - macro (format conditionnel - run-time error 1004)
    Par Chewi dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 01/09/2006, 19h18

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo