From 9749b70fe27b703f8db65f1f1c33f7f040535e91 Mon Sep 17 00:00:00 2001 From: Claude Date: Tue, 19 May 2026 09:20:52 +0000 Subject: [PATCH] Fix PDF logo overlapping form fields The logo was placed with a fixed +10pt offset that didn't account for actual logo height. Content below always advanced by a fixed 28pt, so any logo taller than ~18pt bled into the intro text and form fields. Now the logo is anchored with its top at the cursor position (bottom at y - lhh), the title baseline aligns to the same top edge, and y advances by max(logoHeight, titleSize) + 8pt gap before the next element. https://claude.ai/code/session_016aNBqHpiQciTr1DvNvE7nk --- app/index.html | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/app/index.html b/app/index.html index dbd3317..41948ba 100644 --- a/app/index.html +++ b/app/index.html @@ -564,18 +564,20 @@ async function generatePDF() { addPage(true); // Logo + title + let headerBlockH = szLg; if (logoImage) { const maxW = (CFG['logo-maxwidth'] || 4) * 28.3465; const scale = Math.min(maxW / logoImage.width, 50 / logoImage.height, 1); const lw = logoImage.width * scale, lhh = logoImage.height * scale; - pg.drawImage(logoImage, { x: M.left, y: y - lhh + 10, width: lw, height: lhh }); + pg.drawImage(logoImage, { x: M.left, y: y - lhh, width: lw, height: lhh }); + headerBlockH = Math.max(lhh, szLg); } else if (CFG.organization) { pg.drawText(CFG.organization, { x: M.left, y, size: szLg, font: fontBold, color: accent }); } const titleStr = 'REIMBURSEMENT FORM'; const tw = fontBold.widthOfTextAtSize(titleStr, szLg); - pg.drawText(titleStr, { x: M.left + W - tw, y, size: szLg, font: fontBold, color: accent }); - y -= 28; + pg.drawText(titleStr, { x: M.left + W - tw, y: y - szLg, size: szLg, font: fontBold, color: accent }); + y -= headerBlockH + 8; // Intro text if (CFG.intro) {