From a14500c7ab598f99b3ad313efbc4460d12ebb108 Mon Sep 17 00:00:00 2001 From: odweta Date: Thu, 10 Sep 2026 17:22:31 +0200 Subject: [PATCH] Decrease PDF invoice item row height by ~10% Reduce the item table row height from 25pt to 22.5pt and re-center the cell text within the shorter rows. The header row height is unchanged. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> --- app/src/app.js | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/app/src/app.js b/app/src/app.js index 60693f6..9366168 100644 --- a/app/src/app.js +++ b/app/src/app.js @@ -539,28 +539,29 @@ const renderInvoicePdf = async (document, invoice) => { const tableTop = document.y + 12; const columns = [0, pageWidth * 0.52, pageWidth * 0.68, pageWidth * 0.82, pageWidth]; - const rowHeight = 25; - document.rect(document.page.margins.left, tableTop, pageWidth, rowHeight).fill('#eef1f3'); + const headerRowHeight = 25; + const itemRowHeight = 22.5; + document.rect(document.page.margins.left, tableTop, pageWidth, headerRowHeight).fill('#eef1f3'); document.fillColor(navy).font(boldFont).fontSize(9); ['Položka', 'Množství', 'MJ', 'Cena za MJ'].forEach((heading, index) => { document.text(heading, document.page.margins.left + columns[index] + 6, tableTop + 8, { width: columns[index + 1] - columns[index] - 12 }); }); - document.y = tableTop + rowHeight; + document.y = tableTop + headerRowHeight; (data.items || []).forEach((item, index) => { const rowTop = document.y; - document.rect(document.page.margins.left, rowTop, pageWidth, rowHeight) + document.rect(document.page.margins.left, rowTop, pageWidth, itemRowHeight) .fill(index % 2 ? lightBlue : warm); - document.moveTo(document.page.margins.left, rowTop + rowHeight) - .lineTo(document.page.margins.left + pageWidth, rowTop + rowHeight) + document.moveTo(document.page.margins.left, rowTop + itemRowHeight) + .lineTo(document.page.margins.left + pageWidth, rowTop + itemRowHeight) .strokeColor(line).lineWidth(0.7).stroke(); document.fillColor(bodyText).font(regularFont).fontSize(9); [pdfText(item.popis), formatCzechNumber(item.mnozstvi), pdfText(item.mernaJednotka), `${formatCzechNumber(item.cenaZaMj)} Kč`] - .forEach((value, columnIndex) => document.text(value, document.page.margins.left + columns[columnIndex] + 6, rowTop + 8, { + .forEach((value, columnIndex) => document.text(value, document.page.margins.left + columns[columnIndex] + 6, rowTop + 6, { width: columns[columnIndex + 1] - columns[columnIndex] - 12 })); - document.y = rowTop + rowHeight; + document.y = rowTop + itemRowHeight; }); document.y += 18;