[Python] Un aiutino?

Michelangelo Turillo m.turillo a virgilio.it
Ven 25 Ago 2006 23:43:56 CEST


Salve a tutti,

Sto cercando di realizzare un documento pdf nelle seguenti lingue Europee:
Greek English French Hungarian Italian Lithuanian Dutch Portuguese Albanian Czech Danish German Spanish Estonian Finnish Irish Latvian Maltese Polish Romanian Russian Slovene Slovak Swedish 

Il layout del documento deve essere pressappoco questo:

                               |
                Όνομα, Επώνυμο | John, Malkovic
                 Διεύθυνση (1) | 11 Main Street, Athens 54640
                               | Thessaloniki Greece
                 Διεύθυνση (2) |
                      Τηλέφωνο | 00302310886995
                     Διεύθυνση | joh... a otenet.gr
                  ηλεκτρονικού |
                 ταχυδρομείου  |
               Κινητό τηλέφωνο | 00345353453453
                Τόπος γέννησης | Thessaloniki
                          Χώρα | Greece
                    Υπηκοότητα | Greek
                    Ημερομηνία |
                      γέννησης |
                Μητρική γλώσσα | Greek 


Non sono un programmatore Python ma con qualche consiglio sono arrivato a questo:

<code>
#!/usr/bin/python

import time, os, sys
from reportlab.pdfbase import pdfmetrics from reportlab.pdfbase.ttfonts import TTFont from reportlab.pdfgen import canvas from reportlab.lib.units import inch, cm from reportlab.lib.pagesizes import A4

#precalculate some basics
top_margin = A4[1] - inch
bottom_margin = inch
left_margin = inch
right_margin = A4[0] - inch
frame_width = right_margin - left_margin

pdfmetrics.registerFont(TTFont('Verdana', 'verdana.ttf')) canv = canvas.Canvas("test.pdf")

def drawPageFrame(mycanv):
  mycanv.line(left_margin, top_margin, right_margin, top_margin)
  mycanv.setFont('Verdana',12)
  mycanv.drawString(left_margin, top_margin + 2, "Pdf Test")
  mycanv.line(left_margin, top_margin, right_margin, top_margin)

  mycanv.line(left_margin, bottom_margin, right_margin, bottom_margin)
  mycanv.drawCentredString(0.5*A4[0], 0.5 * inch,
  "Page %d" % mycanv.getPageNumber())

canv.setPageCompression(1)
drawPageFrame(canv)

#do some title page stuff
canv.setFont("Verdana", 36)
canv.drawCentredString(0.5 * A4[0], 7 * inch, "Pdf Test")

canv.setFont("Verdana", 18)
canv.drawCentredString(0.5 * A4[0], 5 * inch, "Test Staff")

canv.setFont("Verdana", 12)
tx = canv.beginText(left_margin, 3 * inch) tx.textLine("This is a test to a PDF Exporting Tool")
canv.drawText(tx)
canv.showPage()

canv.save()

print "Content-Type: text/html\n\n"
print "<a href=\"test.pdf\">PDF Test</a>"

</code> 

Ora desidererei creare un layout con immagini e linee ma soprattutto riquadri che all'evenienza si adattino al contenuto. Intendo dire che se ho un testo pił lungo non vada a sovrascrivere ma sposti tutto pił sotto. 
Mi hanno parlato di LaTeX ma non so da dove partire. Potete aiutarmi?

Grazie



Maggiori informazioni sulla lista Python