Höhe der Tabelle besser approximieren.
Bernd Wurst

Bernd Wurst commited on 2009-02-13 14:37:54
Zeige 1 geänderte Dateien mit 8 Einfügungen und 3 Löschungen.

... ...
@@ -148,9 +148,14 @@ def InvoiceToPDF(iv):
148 148
       for para in part.paragraphs:  
149 149
         height += (len(_splitToWidth(canvas, para, right-left, font, default_font_size)) * line_height) + line_padding
150 150
     elif type(part) == Invoice.Table:
151
-      ## FIXME: Das ist dreckig
152
-      height = len(part.entries) * 2*cm
153
-      height += 3.5*cm
151
+      height = line_height
152
+      for el in part.entries:
153
+        # Die Breite ist konservativ
154
+        height += line_height*len(_splitToWidth(canvas, el['subject'], 9.3*cm, font, font_size))
155
+        if 'desc' in el and el['desc'] != '':
156
+          height += line_height * len(_splitToWidth(canvas, el['desc'], 11*cm, font, font_size))
157
+      # 4 Zeilen sollten reichen für die Summen
158
+      height += line_height * 4
154 159
     return height
155 160
 
156 161
 
157 162