diff --git a/public/datasheets/h1z2z2-k-de.pdf b/public/datasheets/h1z2z2-k-de.pdf index ffcb439e..0a4431ed 100644 Binary files a/public/datasheets/h1z2z2-k-de.pdf and b/public/datasheets/h1z2z2-k-de.pdf differ diff --git a/public/datasheets/h1z2z2-k-en.pdf b/public/datasheets/h1z2z2-k-en.pdf index a0dad676..1be81819 100644 Binary files a/public/datasheets/h1z2z2-k-en.pdf and b/public/datasheets/h1z2z2-k-en.pdf differ diff --git a/public/datasheets/n2x2y-de.pdf b/public/datasheets/n2x2y-de.pdf index 3f4e5832..1538bb84 100644 Binary files a/public/datasheets/n2x2y-de.pdf and b/public/datasheets/n2x2y-de.pdf differ diff --git a/public/datasheets/n2x2y-en.pdf b/public/datasheets/n2x2y-en.pdf index c65cb83f..b455ef55 100644 Binary files a/public/datasheets/n2x2y-en.pdf and b/public/datasheets/n2x2y-en.pdf differ diff --git a/public/datasheets/n2xfk2y-de.pdf b/public/datasheets/n2xfk2y-de.pdf index ef5f5818..504b075d 100644 Binary files a/public/datasheets/n2xfk2y-de.pdf and b/public/datasheets/n2xfk2y-de.pdf differ diff --git a/public/datasheets/n2xfk2y-en.pdf b/public/datasheets/n2xfk2y-en.pdf index 9ca9da8e..5146d146 100644 Binary files a/public/datasheets/n2xfk2y-en.pdf and b/public/datasheets/n2xfk2y-en.pdf differ diff --git a/public/datasheets/n2xfkld2y-de.pdf b/public/datasheets/n2xfkld2y-de.pdf index d781b828..5d71cb04 100644 Binary files a/public/datasheets/n2xfkld2y-de.pdf and b/public/datasheets/n2xfkld2y-de.pdf differ diff --git a/public/datasheets/n2xfkld2y-en.pdf b/public/datasheets/n2xfkld2y-en.pdf index 7043c37a..e547441e 100644 Binary files a/public/datasheets/n2xfkld2y-en.pdf and b/public/datasheets/n2xfkld2y-en.pdf differ diff --git a/public/datasheets/n2xs2y-de.pdf b/public/datasheets/n2xs2y-de.pdf index a70eab28..2767eca5 100644 Binary files a/public/datasheets/n2xs2y-de.pdf and b/public/datasheets/n2xs2y-de.pdf differ diff --git a/public/datasheets/n2xs2y-en.pdf b/public/datasheets/n2xs2y-en.pdf index e67adedb..92a55487 100644 Binary files a/public/datasheets/n2xs2y-en.pdf and b/public/datasheets/n2xs2y-en.pdf differ diff --git a/public/datasheets/n2xsf2y-de.pdf b/public/datasheets/n2xsf2y-de.pdf index 899259d4..4b432faf 100644 Binary files a/public/datasheets/n2xsf2y-de.pdf and b/public/datasheets/n2xsf2y-de.pdf differ diff --git a/public/datasheets/n2xsf2y-en.pdf b/public/datasheets/n2xsf2y-en.pdf index d27e67ab..4fca4c41 100644 Binary files a/public/datasheets/n2xsf2y-en.pdf and b/public/datasheets/n2xsf2y-en.pdf differ diff --git a/public/datasheets/n2xsfl2y-hv-de.pdf b/public/datasheets/n2xsfl2y-hv-de.pdf index a97832a0..aee872c8 100644 Binary files a/public/datasheets/n2xsfl2y-hv-de.pdf and b/public/datasheets/n2xsfl2y-hv-de.pdf differ diff --git a/public/datasheets/n2xsfl2y-hv-en.pdf b/public/datasheets/n2xsfl2y-hv-en.pdf index ba77a1e7..e1e68b44 100644 Binary files a/public/datasheets/n2xsfl2y-hv-en.pdf and b/public/datasheets/n2xsfl2y-hv-en.pdf differ diff --git a/public/datasheets/n2xsfl2y-mv-de.pdf b/public/datasheets/n2xsfl2y-mv-de.pdf index 67e30f51..2f9a129d 100644 Binary files a/public/datasheets/n2xsfl2y-mv-de.pdf and b/public/datasheets/n2xsfl2y-mv-de.pdf differ diff --git a/public/datasheets/n2xsfl2y-mv-en.pdf b/public/datasheets/n2xsfl2y-mv-en.pdf index 53ddcad3..46cd29b9 100644 Binary files a/public/datasheets/n2xsfl2y-mv-en.pdf and b/public/datasheets/n2xsfl2y-mv-en.pdf differ diff --git a/public/datasheets/n2xsy-de.pdf b/public/datasheets/n2xsy-de.pdf index 5b18849f..c3425787 100644 Binary files a/public/datasheets/n2xsy-de.pdf and b/public/datasheets/n2xsy-de.pdf differ diff --git a/public/datasheets/n2xsy-en.pdf b/public/datasheets/n2xsy-en.pdf index e39bedbd..18d9fdf2 100644 Binary files a/public/datasheets/n2xsy-en.pdf and b/public/datasheets/n2xsy-en.pdf differ diff --git a/public/datasheets/n2xy-de.pdf b/public/datasheets/n2xy-de.pdf index 49b5a6d1..5de88c79 100644 Binary files a/public/datasheets/n2xy-de.pdf and b/public/datasheets/n2xy-de.pdf differ diff --git a/public/datasheets/n2xy-en.pdf b/public/datasheets/n2xy-en.pdf index b41a92bc..ec636dcd 100644 Binary files a/public/datasheets/n2xy-en.pdf and b/public/datasheets/n2xy-en.pdf differ diff --git a/public/datasheets/na2x2y-de.pdf b/public/datasheets/na2x2y-de.pdf index 17fe89db..4a199d58 100644 Binary files a/public/datasheets/na2x2y-de.pdf and b/public/datasheets/na2x2y-de.pdf differ diff --git a/public/datasheets/na2x2y-en.pdf b/public/datasheets/na2x2y-en.pdf index a40adcec..627ffdbe 100644 Binary files a/public/datasheets/na2x2y-en.pdf and b/public/datasheets/na2x2y-en.pdf differ diff --git a/public/datasheets/na2xfk2y-de.pdf b/public/datasheets/na2xfk2y-de.pdf index 621446f4..feb89ba9 100644 Binary files a/public/datasheets/na2xfk2y-de.pdf and b/public/datasheets/na2xfk2y-de.pdf differ diff --git a/public/datasheets/na2xfk2y-en.pdf b/public/datasheets/na2xfk2y-en.pdf index 63faa06b..cda82ef1 100644 Binary files a/public/datasheets/na2xfk2y-en.pdf and b/public/datasheets/na2xfk2y-en.pdf differ diff --git a/public/datasheets/na2xfkld2y-de.pdf b/public/datasheets/na2xfkld2y-de.pdf index 9d47b7a6..b027f9a1 100644 Binary files a/public/datasheets/na2xfkld2y-de.pdf and b/public/datasheets/na2xfkld2y-de.pdf differ diff --git a/public/datasheets/na2xfkld2y-en.pdf b/public/datasheets/na2xfkld2y-en.pdf index be674532..9d5df699 100644 Binary files a/public/datasheets/na2xfkld2y-en.pdf and b/public/datasheets/na2xfkld2y-en.pdf differ diff --git a/public/datasheets/na2xs2y-de.pdf b/public/datasheets/na2xs2y-de.pdf index b165a016..d15b5308 100644 Binary files a/public/datasheets/na2xs2y-de.pdf and b/public/datasheets/na2xs2y-de.pdf differ diff --git a/public/datasheets/na2xs2y-en.pdf b/public/datasheets/na2xs2y-en.pdf index a668f884..58946e38 100644 Binary files a/public/datasheets/na2xs2y-en.pdf and b/public/datasheets/na2xs2y-en.pdf differ diff --git a/public/datasheets/na2xsf2y-de.pdf b/public/datasheets/na2xsf2y-de.pdf index 6c8a675d..8384afb8 100644 Binary files a/public/datasheets/na2xsf2y-de.pdf and b/public/datasheets/na2xsf2y-de.pdf differ diff --git a/public/datasheets/na2xsf2y-en.pdf b/public/datasheets/na2xsf2y-en.pdf index 4d9c3d4b..9e427d53 100644 Binary files a/public/datasheets/na2xsf2y-en.pdf and b/public/datasheets/na2xsf2y-en.pdf differ diff --git a/public/datasheets/na2xsfl2y-hv-de.pdf b/public/datasheets/na2xsfl2y-hv-de.pdf index 1661e6f7..a8186a9c 100644 Binary files a/public/datasheets/na2xsfl2y-hv-de.pdf and b/public/datasheets/na2xsfl2y-hv-de.pdf differ diff --git a/public/datasheets/na2xsfl2y-hv-en.pdf b/public/datasheets/na2xsfl2y-hv-en.pdf index 4075e4ca..79d5f6d6 100644 Binary files a/public/datasheets/na2xsfl2y-hv-en.pdf and b/public/datasheets/na2xsfl2y-hv-en.pdf differ diff --git a/public/datasheets/na2xsfl2y-mv-de.pdf b/public/datasheets/na2xsfl2y-mv-de.pdf index ce04f6f2..8de2f9a6 100644 Binary files a/public/datasheets/na2xsfl2y-mv-de.pdf and b/public/datasheets/na2xsfl2y-mv-de.pdf differ diff --git a/public/datasheets/na2xsfl2y-mv-en.pdf b/public/datasheets/na2xsfl2y-mv-en.pdf index 87c098d7..8c9e5596 100644 Binary files a/public/datasheets/na2xsfl2y-mv-en.pdf and b/public/datasheets/na2xsfl2y-mv-en.pdf differ diff --git a/public/datasheets/na2xsy-de.pdf b/public/datasheets/na2xsy-de.pdf index f5d09080..57365f79 100644 Binary files a/public/datasheets/na2xsy-de.pdf and b/public/datasheets/na2xsy-de.pdf differ diff --git a/public/datasheets/na2xsy-en.pdf b/public/datasheets/na2xsy-en.pdf index 43a38c76..32d520db 100644 Binary files a/public/datasheets/na2xsy-en.pdf and b/public/datasheets/na2xsy-en.pdf differ diff --git a/public/datasheets/na2xy-de.pdf b/public/datasheets/na2xy-de.pdf index 33e3c29a..6932af12 100644 Binary files a/public/datasheets/na2xy-de.pdf and b/public/datasheets/na2xy-de.pdf differ diff --git a/public/datasheets/na2xy-en.pdf b/public/datasheets/na2xy-en.pdf index 4cb0800f..ed564c76 100644 Binary files a/public/datasheets/na2xy-en.pdf and b/public/datasheets/na2xy-en.pdf differ diff --git a/public/datasheets/nay2y-de.pdf b/public/datasheets/nay2y-de.pdf index 6082faf3..1074a1bf 100644 Binary files a/public/datasheets/nay2y-de.pdf and b/public/datasheets/nay2y-de.pdf differ diff --git a/public/datasheets/nay2y-en.pdf b/public/datasheets/nay2y-en.pdf index a2338892..987dd439 100644 Binary files a/public/datasheets/nay2y-en.pdf and b/public/datasheets/nay2y-en.pdf differ diff --git a/public/datasheets/naycwy-de.pdf b/public/datasheets/naycwy-de.pdf index 8964941e..7389f270 100644 Binary files a/public/datasheets/naycwy-de.pdf and b/public/datasheets/naycwy-de.pdf differ diff --git a/public/datasheets/naycwy-en.pdf b/public/datasheets/naycwy-en.pdf index 03042418..7041b5d8 100644 Binary files a/public/datasheets/naycwy-en.pdf and b/public/datasheets/naycwy-en.pdf differ diff --git a/public/datasheets/nayy-de.pdf b/public/datasheets/nayy-de.pdf index d97160f5..3b979891 100644 Binary files a/public/datasheets/nayy-de.pdf and b/public/datasheets/nayy-de.pdf differ diff --git a/public/datasheets/nayy-en.pdf b/public/datasheets/nayy-en.pdf index aef32132..461dc2a1 100644 Binary files a/public/datasheets/nayy-en.pdf and b/public/datasheets/nayy-en.pdf differ diff --git a/public/datasheets/ny2y-de.pdf b/public/datasheets/ny2y-de.pdf index 06f0bbba..db1b71e2 100644 Binary files a/public/datasheets/ny2y-de.pdf and b/public/datasheets/ny2y-de.pdf differ diff --git a/public/datasheets/ny2y-en.pdf b/public/datasheets/ny2y-en.pdf index 6c67f63e..c2bc7588 100644 Binary files a/public/datasheets/ny2y-en.pdf and b/public/datasheets/ny2y-en.pdf differ diff --git a/public/datasheets/nycwy-de.pdf b/public/datasheets/nycwy-de.pdf index dbe3a513..6a4c21e1 100644 Binary files a/public/datasheets/nycwy-de.pdf and b/public/datasheets/nycwy-de.pdf differ diff --git a/public/datasheets/nycwy-en.pdf b/public/datasheets/nycwy-en.pdf index 34600723..3f29dca3 100644 Binary files a/public/datasheets/nycwy-en.pdf and b/public/datasheets/nycwy-en.pdf differ diff --git a/public/datasheets/nyy-de.pdf b/public/datasheets/nyy-de.pdf index e815c495..3651cab8 100644 Binary files a/public/datasheets/nyy-de.pdf and b/public/datasheets/nyy-de.pdf differ diff --git a/public/datasheets/nyy-en.pdf b/public/datasheets/nyy-en.pdf index 57c25557..8c96337e 100644 Binary files a/public/datasheets/nyy-en.pdf and b/public/datasheets/nyy-en.pdf differ diff --git a/scripts/generate-pdf-datasheets-pdf-lib.ts b/scripts/generate-pdf-datasheets-pdf-lib.ts index 5431571d..d900bd2c 100644 --- a/scripts/generate-pdf-datasheets-pdf-lib.ts +++ b/scripts/generate-pdf-datasheets-pdf-lib.ts @@ -1199,7 +1199,8 @@ function drawKeyValueTable(args: { if (args.title) { page.drawText(args.title, { x: margin + padX, - y: boxTopY - (headerPadY + 12), + // Perfectly center the 10pt text vertically inside the 28pt (10+18) header band + y: boxTopY - 18, size: 10, font: fontBold, color: navy, @@ -1283,7 +1284,7 @@ function drawKeyValueTable(args: { } } - return Math.max(contentMinY, boxBottomY - 18); + return Math.max(contentMinY, boxBottomY - 12); } // Backward compatibility wrapper for metagrid @@ -4092,10 +4093,13 @@ async function generatePDF(product: ProductData, locale: 'en' | 'de'): Promise y - needed >= contentMinY; @@ -4359,24 +4363,14 @@ async function generatePDF(product: ProductData, locale: 'en' | 'de'): Promise= contentMinY) y -= 10; - - // Check if we need a new page for this voltage table - // Estimate: meta block (if shown) + table header + at least 3 data rows - const estimateMetaH = (itemsCount: number) => { - // Always render a voltage-group header (even for single-voltage products) - // so all datasheets look consistent. - const titleH = 14; - const rowH = 14; - const cols = 3; - const rows = Math.max(1, Math.ceil(Math.max(0, itemsCount) / cols)); - return titleH + rows * rowH + 8; - }; - const minTableH = 16 /*header*/ + 9 * 3 /*3 rows*/ + 10; /*pad*/ - const minNeeded = estimateMetaH((t.metaItems || []).length) + minTableH; - if (y - minNeeded < contentMinY) { + // ALWAYS create a new page per Cross-Section Table as requested by the user. + // We set `includeProductName: true` so the product name is visible on these new pages. + if (hasRenderedContent) { y = newPage({ includeProductName: true, landscape: false }); + } else { + // If we happen to be at the exact top of the first page (no tech data), + // we just apply a clean standard margin instead of a page break. + y -= 10; } // Top meta block: always render per voltage group.