fix: Fehlzeitenkalender Spaltenbreiten und unnötigen Seitenumbruch
CI / build-and-test (push) Waiting to run
CI / build-and-test (push) Waiting to run
Datum-Spalte in der Fehltage-Tabelle war für "dd.MM.yyyy" zu schmal bemessen (an der kurzen Kopfzeile "Datum" orientiert) und wurde abgeschnitten. RenderFlow erzwang außerdem zwischen den Ausschnitten einer zu hohen Zeichenbox einen harten Seitenumbruch unabhängig vom tatsächlich verbleibenden Platz auf der Seite - dadurch begann z.B. der zweite Monat auf Seite 3, obwohl Seite 2 noch reichlich Platz hatte. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
@@ -531,13 +531,19 @@ internal static class DrawingElementRenderer
|
||||
};
|
||||
container.Column(column =>
|
||||
{
|
||||
for (var page = 0; page < pages.Count; page++)
|
||||
// Kein manueller PageBreak() zwischen den Ausschnitten: RenderFlow sitzt in einer
|
||||
// ohnehin automatisch paginierenden Column (Flow-Dokument) bzw. füllt im Legacy-Modell
|
||||
// fast die ganze Seite aus. Ein erzwungener Break hier sprang unabhängig vom
|
||||
// tatsächlich verbleibenden Platz auf der aktuellen physischen Seite auf eine neue -
|
||||
// z.B. begann der zweite Monat der Fehlzeitenliste auf Seite 3, obwohl auf Seite 2
|
||||
// noch reichlich Platz war. QuestPDF schiebt einen Ausschnitt, der nicht mehr passt,
|
||||
// ohnehin automatisch auf die nächste Seite.
|
||||
foreach (var page in pages)
|
||||
{
|
||||
if (page > 0) column.Item().PageBreak();
|
||||
// Koordinaten sind nach Slice()/RecordPages() bereits seitenlokal (bei 0 beginnend) -
|
||||
// kein zusätzlicher viewBox-Y-Offset nötig oder sinnvoll (siehe Slice()).
|
||||
column.Item().Height(UnitConverter.Points(pageHeight, unit)).Svg(
|
||||
BuildSvg(pages[page], width, pageHeight, 0, unit));
|
||||
BuildSvg(page, width, pageHeight, 0, unit));
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user