Bernd Wurst commited on 2009-02-13 16:11:18
Zeige 1 geänderte Dateien mit 16 Einfügungen und 3 Löschungen.
| ... | ... |
@@ -143,19 +143,29 @@ def InvoiceToPDF(iv): |
| 143 | 143 |
left += 1.5*cm |
| 144 | 144 |
right -= 1.5*cm |
| 145 | 145 |
height += len(part.paragraphs) * 3 * line_padding |
| 146 |
+ # Rechne eine Zeile mehr für den Rahmen |
|
| 147 |
+ height += line_height |
|
| 146 | 148 |
if part.headline: |
| 147 | 149 |
height += (len(_splitToWidth(canvas, part.headline, right-left, font+'-Bold', default_font_size+1)) * line_height) + line_padding |
| 148 | 150 |
for para in part.paragraphs: |
| 149 | 151 |
height += (len(_splitToWidth(canvas, para, right-left, font, default_font_size)) * line_height) + line_padding |
| 150 | 152 |
elif type(part) == Invoice.Table: |
| 151 |
- height = line_height |
|
| 153 |
+ # Eine Zeile plus 2 mal line_padding für Tabellenkopf |
|
| 154 |
+ height = line_height + 2 * line_padding |
|
| 152 | 155 |
for el in part.entries: |
| 156 |
+ # Die Abstände oben und unten |
|
| 157 |
+ height += 2 * line_padding |
|
| 153 | 158 |
# Die Breite ist konservativ |
| 154 | 159 |
height += line_height*len(_splitToWidth(canvas, el['subject'], 9.3*cm, font, font_size)) |
| 155 | 160 |
if 'desc' in el and el['desc'] != '': |
| 156 | 161 |
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 |
|
| 162 |
+ if part.vatType == 'net': |
|
| 163 |
+ # Eine Zeile mehr |
|
| 164 |
+ height += line_height + line_padding |
|
| 165 |
+ # Für die MwSt-Summen |
|
| 166 |
+ height += (line_height + line_padding) * len(part.vat) |
|
| 167 |
+ # Für den Rechnungsbetrag |
|
| 168 |
+ height += line_height + line_padding |
|
| 159 | 169 |
return height |
| 160 | 170 |
|
| 161 | 171 |
|
| ... | ... |
@@ -226,6 +236,9 @@ def InvoiceToPDF(iv): |
| 226 | 236 |
canvas.setFont(font, font_size-2) |
| 227 | 237 |
canvas.drawCentredString(leftcontent + (rightcontent - leftcontent) / 2, y, '- Seite %i -' % num_pages) |
| 228 | 238 |
y -= line_padding*3 |
| 239 |
+ # Debug: Was hat die Höhenbestimmung für diesen Teil als Höhe herausgefunden? |
|
| 240 |
+ #canvas.line(leftcontent, y-_partHeight(part), rightcontent, y-_partHeight(part)) |
|
| 241 |
+ |
|
| 229 | 242 |
if type(part) == Invoice.Table: |
| 230 | 243 |
|
| 231 | 244 |
left = leftcontent |
| 232 | 245 |