From e11a7aad8333029ec28af19ee92a3be442f5d608 Mon Sep 17 00:00:00 2001 From: adrianbonpin Date: Wed, 19 Aug 2026 02:15:16 +0800 Subject: [PATCH] fix: leave Date Enrolled line empty (reserve space), nudge Printed by closer to bottom border --- pdf.js | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/pdf.js b/pdf.js index 604389e..e606bfa 100644 --- a/pdf.js +++ b/pdf.js @@ -283,7 +283,13 @@ if (header.semester) center(String(header.semester).toUpperCase(), 9, font, 13.76); const dateRange = header.dateRange || deriveDateRange(header.semester); if (dateRange) center(dateRange, 9, font, 11.75); - if (header.dateEnrolled) left('Date Enrolled: ' + header.dateEnrolled, 8, italic, margin, 14.53); + // Always reserve the Date Enrolled line's vertical space (so the layout + // stays aligned with the reference) even though we never have the value. + if (header.dateEnrolled) { + left('Date Enrolled: ' + header.dateEnrolled, 8, italic, margin, 14.53); + } else { + y -= 14.53; // keep the same gap, drawing nothing + } // Student info row, laid out in fixed zones across the page (matching the // reference): ID (bold) left, name at ~100, program at ~338, and @@ -466,7 +472,7 @@ y -= 12; } hline(margin, margin + contentWidth, y); - y -= 12; + y -= 10.1; const printedBy = 'Printed by: ' + (header.studentId || '') + ' on ' + new Date().toLocaleDateString(); const pw = font.widthOfTextAtSize(printedBy, 8); page.drawText(printedBy, { x: margin + contentWidth - pw, y, size: 8, font, color: black });