PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Python Code als PDF ausgeben



maria_dolores
14-07-2010, 21:08
Hallo zusammen,

ich habe eine Frage Python angehend und bin ziemlich neu auf dem Gebiet. Ich habe ein Programm geschrieben, das aus einer SQL Datenbank gewisse Daten auswählt und diese dann in einer bar chart plottet. Ich möchte nun diese Ausgabe im PDF-Format haben. Nach etlichen Google Such-Stunden bin ich nun auf Reportlab und das Tool Pythonpoint gestoßen.

Allerdings weiss ich nicht genau wie ich das jetzt in mein Programm einbinde. Im Netz steht da zwar

import reportlab
from reportlab import * aber ich bekomme dann einen ImportError - er würde das nicht finden, obwohl ich es installiert habe.

Hat jemand schon Erfahrung auf dem Gebiet und kann mir helfen?

Gruß
Isa

undefined
15-07-2010, 13:50
Das Joker-Zeichen bezieht sich auf einen Namensraum.
Siehe http://wiki.python.de/Import


#!/usr/bin/env python

## Setze das Font Verzeichnis
from distutils.sysconfig import get_python_lib;
folder = get_python_lib(1) + '/reportlab/fonts/'

## Die Fonts setzen
import os, string
afmFile = os.path.join(folder, 'DarkGardenMK.afm')
pfbFile = os.path.join(folder, 'DarkGardenMK.pfb')

## Generiere/Registriere die Font Eigenschaften
from reportlab.pdfbase import pdfmetrics
justFace = pdfmetrics.EmbeddedType1Face(afmFile, pfbFile)
faceName = 'DarkGardenMK'
pdfmetrics.registerTypeFace(justFace)
justFont = pdfmetrics.Font('DarkGardenMK', faceName, 'WinAnsiEncoding')
pdfmetrics.registerFont(justFont)

## Erstelle Ausgabe
from reportlab.pdfgen import canvas
c = canvas.Canvas("/tmp/test.pdf")
c.saveState()
c.setFont('DarkGardenMK', 32)
c.drawString(40, 450, 'Test Ausgabe')
c.save()

maria_dolores
15-07-2010, 19:51
Hey,

danke. Funktioniert jetzt wunderbar.
Allerdings weiss ich nicht genau wie ich Python dazu bringe mir alles als pdf auszugeben. Die Grafik, die er plottet habe ich jetzt im pdf-Format, nur wie krieg ich jetzt die "Liste", die er noch ausgibt auch als pdf?

Ich habe mir mal ein Beispiel zu Pythonpoint angesehen, aber ich bin nicht wirklich schlau draus geworden.

Kannst Du mir oder kann mir wer dabei helfen?

Gruß Isa