diff --git a/lib/pdf-business-card.tsx b/lib/pdf-business-card.tsx index 527a8d70..b606d840 100644 --- a/lib/pdf-business-card.tsx +++ b/lib/pdf-business-card.tsx @@ -47,6 +47,7 @@ export interface PDFBusinessCardProps { qrCodeDataUrl: string; variant?: 'blue' | 'white' | 'black'; isViaprinto?: boolean; + withTruck?: boolean; } // Die Buchstaben K, L, Z im SVG (inklusive dem kleinen Stück vom Z oben links) @@ -161,8 +162,8 @@ const styles = StyleSheet.create({ // -- WHITE PAGE (Vorderseite) -- backContainer: { flex: 1, - paddingTop: '6mm', - paddingBottom: '6mm', + paddingTop: '8mm', + paddingBottom: '10mm', paddingLeft: '6mm', paddingRight: '6mm', flexDirection: 'column', @@ -261,7 +262,7 @@ const styles = StyleSheet.create({ qrCodeWrapper: { width: '12mm', height: '12mm', - border: `0.75pt solid ${COLORS.green}`, + border: `0.75pt solid ${COLORS.darkGreen}`, padding: 2.5, backgroundColor: '#ffffff', }, @@ -275,7 +276,7 @@ const styles = StyleSheet.create({ justifyContent: 'center', alignItems: 'center', position: 'absolute', - bottom: '2mm', + bottom: '3.5mm', }, addressFooterText: { fontSize: 7, // increased from 6 @@ -692,6 +693,7 @@ export const PDFBusinessCard: React.FC = ({ qrCodeDataUrl, variant = 'blue', isViaprinto = false, + withTruck = true, }) => { const isWhiteVariant = variant === 'white' || variant === 'black'; @@ -739,13 +741,15 @@ export const PDFBusinessCard: React.FC = ({ size={[258, 173]} style={[styles.pageBleed, isWhiteVariant && { backgroundColor: '#ffffff' }]} > - - - + {withTruck && ( + + + + )} = ({ /> - + + {withTruck && ( + + + + )} {person.name} diff --git a/public/downloads/business-cards/KLZ_Visitenkarte_Johannes_Gleich.pdf b/public/downloads/business-cards/KLZ_Visitenkarte_Johannes_Gleich.pdf index b9641918..0f051429 100644 Binary files a/public/downloads/business-cards/KLZ_Visitenkarte_Johannes_Gleich.pdf and b/public/downloads/business-cards/KLZ_Visitenkarte_Johannes_Gleich.pdf differ diff --git a/public/downloads/business-cards/KLZ_Visitenkarte_Johannes_Gleich_NoTruck.pdf b/public/downloads/business-cards/KLZ_Visitenkarte_Johannes_Gleich_NoTruck.pdf new file mode 100644 index 00000000..7b79c86a Binary files /dev/null and b/public/downloads/business-cards/KLZ_Visitenkarte_Johannes_Gleich_NoTruck.pdf differ diff --git a/public/downloads/business-cards/KLZ_Visitenkarte_Johannes_Gleich_Viaprinto_CMYK_91x61mm_3mmBleed.pdf b/public/downloads/business-cards/KLZ_Visitenkarte_Johannes_Gleich_Viaprinto_CMYK_91x61mm_3mmBleed.pdf index 07eff5ce..a97bf561 100644 Binary files a/public/downloads/business-cards/KLZ_Visitenkarte_Johannes_Gleich_Viaprinto_CMYK_91x61mm_3mmBleed.pdf and b/public/downloads/business-cards/KLZ_Visitenkarte_Johannes_Gleich_Viaprinto_CMYK_91x61mm_3mmBleed.pdf differ diff --git a/public/downloads/business-cards/KLZ_Visitenkarte_Klaus_Mintel.pdf b/public/downloads/business-cards/KLZ_Visitenkarte_Klaus_Mintel.pdf index 12e6e108..c05580d6 100644 Binary files a/public/downloads/business-cards/KLZ_Visitenkarte_Klaus_Mintel.pdf and b/public/downloads/business-cards/KLZ_Visitenkarte_Klaus_Mintel.pdf differ diff --git a/public/downloads/business-cards/KLZ_Visitenkarte_Klaus_Mintel_NoTruck.pdf b/public/downloads/business-cards/KLZ_Visitenkarte_Klaus_Mintel_NoTruck.pdf new file mode 100644 index 00000000..19f0c68d Binary files /dev/null and b/public/downloads/business-cards/KLZ_Visitenkarte_Klaus_Mintel_NoTruck.pdf differ diff --git a/public/downloads/business-cards/KLZ_Visitenkarte_Klaus_Mintel_Viaprinto_CMYK_91x61mm_3mmBleed.pdf b/public/downloads/business-cards/KLZ_Visitenkarte_Klaus_Mintel_Viaprinto_CMYK_91x61mm_3mmBleed.pdf index 71630bcc..c97e67a0 100644 Binary files a/public/downloads/business-cards/KLZ_Visitenkarte_Klaus_Mintel_Viaprinto_CMYK_91x61mm_3mmBleed.pdf and b/public/downloads/business-cards/KLZ_Visitenkarte_Klaus_Mintel_Viaprinto_CMYK_91x61mm_3mmBleed.pdf differ diff --git a/public/downloads/business-cards/KLZ_Visitenkarte_Michael_Bodemer.pdf b/public/downloads/business-cards/KLZ_Visitenkarte_Michael_Bodemer.pdf index 9cd669fd..25db8fbe 100644 Binary files a/public/downloads/business-cards/KLZ_Visitenkarte_Michael_Bodemer.pdf and b/public/downloads/business-cards/KLZ_Visitenkarte_Michael_Bodemer.pdf differ diff --git a/public/downloads/business-cards/KLZ_Visitenkarte_Michael_Bodemer_NoTruck.pdf b/public/downloads/business-cards/KLZ_Visitenkarte_Michael_Bodemer_NoTruck.pdf new file mode 100644 index 00000000..edc09534 Binary files /dev/null and b/public/downloads/business-cards/KLZ_Visitenkarte_Michael_Bodemer_NoTruck.pdf differ diff --git a/public/downloads/business-cards/KLZ_Visitenkarte_Michael_Bodemer_Viaprinto_CMYK_91x61mm_3mmBleed.pdf b/public/downloads/business-cards/KLZ_Visitenkarte_Michael_Bodemer_Viaprinto_CMYK_91x61mm_3mmBleed.pdf index 86bd8017..ecf4a2d6 100644 Binary files a/public/downloads/business-cards/KLZ_Visitenkarte_Michael_Bodemer_Viaprinto_CMYK_91x61mm_3mmBleed.pdf and b/public/downloads/business-cards/KLZ_Visitenkarte_Michael_Bodemer_Viaprinto_CMYK_91x61mm_3mmBleed.pdf differ diff --git a/public/downloads/business-cards/test_notruck_page_1.png b/public/downloads/business-cards/test_notruck_page_1.png new file mode 100644 index 00000000..96baa67e Binary files /dev/null and b/public/downloads/business-cards/test_notruck_page_1.png differ diff --git a/public/downloads/business-cards/test_notruck_page_2.png b/public/downloads/business-cards/test_notruck_page_2.png new file mode 100644 index 00000000..971714ed Binary files /dev/null and b/public/downloads/business-cards/test_notruck_page_2.png differ diff --git a/scripts/generate-business-cards.ts b/scripts/generate-business-cards.ts index acc6143b..9884b7ee 100644 --- a/scripts/generate-business-cards.ts +++ b/scripts/generate-business-cards.ts @@ -123,6 +123,27 @@ END:VCARD`; } catch (e) { console.error(`❌ CMYK conversion failed! Is Ghostscript installed?`); } + + // 3. NO TRUCK PDF (RGB) + console.log(`- Rendering No Truck Variant (RGB)...`); + const noTruckFileName = `KLZ_Visitenkarte_${safeName}_NoTruck.pdf`; + const tempNoTruckPath = path.join(CONFIG.outputDir, `temp_${noTruckFileName}`); + const finalNoTruckPath = path.join(CONFIG.outputDir, noTruckFileName); + + buffer = await renderToBuffer( + React.createElement(PDFBusinessCard, { + person, + qrCodeDataUrl, + variant: 'blue', + isViaprinto: false, + withTruck: false, + }), + ); + fs.writeFileSync(tempNoTruckPath, buffer); + const gsNoTruckCommand = `gs -dNoOutputFonts -sDEVICE=pdfwrite -o "${finalNoTruckPath}" "${tempNoTruckPath}"`; + execSync(gsNoTruckCommand, { stdio: 'inherit' }); + fs.unlinkSync(tempNoTruckPath); + console.log(`✓ No Truck Print File generated: ${noTruckFileName}`); } }