Sichtbeleg und delete edmi item values mit N''
This commit is contained in:
@@ -24,7 +24,10 @@ Public Class XRechnungViewDocument
|
||||
Private Const MARGIN_LEFT As Integer = 10
|
||||
Private Const MARGIN_TOP As Integer = 15
|
||||
Private Const LINE_WIDTH As Integer = 200
|
||||
Private Const PAGE_HEIGHT_LIMIT As Integer = 275
|
||||
Private Const PAGE_HEIGHT_LIMIT As Integer = 278 ' ← war fälschlich auf 275 zurückgesetzt: bei 275 bleiben
|
||||
' bis zu 2 Zeilen (10mm) ungenutzter Platz vor dem Footer
|
||||
' (FOOTER_Y=280), wodurch Inhalt unnötig auf die nächste
|
||||
' Seite umbricht, obwohl noch Platz vorhanden wäre.
|
||||
Private Const FOOTER_Y As Integer = 280
|
||||
Private Const FOOTER_TEXT_Y As Integer = 285
|
||||
Private Const LINE_HEIGHT As Integer = 5
|
||||
@@ -153,7 +156,7 @@ Public Class XRechnungViewDocument
|
||||
pdf.SetOrigin(PdfOrigin.PdfOriginTopLeft)
|
||||
pdf.SetMeasurementUnit(PdfMeasurementUnit.PdfMeasurementUnitMillimeter)
|
||||
pdf.SetLineWidth(1)
|
||||
pdf.SetTitle("xInvoice VisualReceipt (2.1)")
|
||||
pdf.SetTitle("xInvoice VisualReceipt")
|
||||
pdf.SetAuthor("Digital Data GmbH, Ludwig Rinn Str. 16, 35452 Heuchelheim")
|
||||
|
||||
' Fonts initialisieren
|
||||
@@ -290,9 +293,29 @@ Public Class XRechnungViewDocument
|
||||
|
||||
If (context.YPosition + requiredSpace) >= PAGE_HEIGHT_LIMIT Then
|
||||
CreateNewPage(context)
|
||||
context.YDynamic = 0 ' Seitenbruch: YDynamic-Korrektur unten darf nicht greifen
|
||||
_logger.Debug($"Area-Switch [{context.CurrentArea}]: Page break BEFORE header! New YPosition: {context.YPosition}")
|
||||
End If
|
||||
|
||||
' *** BUGFIX: Leerzeile vor Area-Header bei POSITION/DESCRIPTION-Übergang ***
|
||||
'
|
||||
' DrawAreaHeader zeichnet die Trennlinie bei: context.YPosition + LINE_HEIGHT.
|
||||
' Nach Areas die RenderMultiLineText verwenden (POSITION, ALLOWANCE), hat
|
||||
' HandleArticleTextFollowUp YPosition bereits auf YDynamic gesetzt – das ist
|
||||
' eine Zeile NACH dem letzten gerenderten Text (so arbeitet RenderMultiLineText).
|
||||
' DrawAreaHeader addiert nochmals +LINE_HEIGHT → insgesamt 2 Zeilen Abstand
|
||||
' statt der gewünschten 1 Zeile (= Trennlinie direkt nach dem letzten Inhalt).
|
||||
'
|
||||
' Erkennungsmerkmal: context.YDynamic > 0 bedeutet, der vorige Bereich hat
|
||||
' YPosition über den YDynamic-Sync bereits um 1 LINE_HEIGHT vorgerückt.
|
||||
' Korrektur: 1 LINE_HEIGHT wieder abziehen, damit DrawAreaHeader den richtigen
|
||||
' Abstand erzeugt. YDynamic selbst wird NICHT zurückgesetzt, damit
|
||||
' yPositionAlreadyAdvanced in HandlePositionAmountFollowUp weiterhin korrekt
|
||||
' erkennen kann, dass kein weiterer Vorschub nötig ist.
|
||||
If context.YDynamic > 0 Then
|
||||
context.YPosition -= LINE_HEIGHT
|
||||
End If
|
||||
|
||||
DrawAreaHeader(context, areaCaption)
|
||||
DrawAreaSpecificHeaders(context)
|
||||
End If
|
||||
|
||||
Reference in New Issue
Block a user