feat: generate only white variant by default and automatically build CMYK version for Viaprinto
Some checks failed
Build & Deploy / 🔍 Prepare (push) Successful in 19s
Build & Deploy / 🏗️ Build (push) Has been cancelled
Build & Deploy / 🚀 Deploy (push) Has been cancelled
Build & Deploy / 🧪 Post-Deploy Verification (push) Has been cancelled
Build & Deploy / 🔔 Notify (push) Has been cancelled
Build & Deploy / 🧪 QA (push) Has been cancelled

This commit is contained in:
2026-06-11 18:20:29 +02:00
parent 1623e04fce
commit f798afe917
13 changed files with 15 additions and 41 deletions

View File

@@ -75,11 +75,12 @@ END:VCARD`;
const rgbPath = path.join(CONFIG.outputDir, `RGB_${finalFileName}`);
const finalPath = path.join(CONFIG.outputDir, finalFileName);
console.log(`- Rendering React-PDF layout (RGB ONLY)...`);
console.log(`- Rendering React-PDF layout (RGB ONLY, White Variant)...`);
const buffer = await renderToBuffer(
React.createElement(PDFBusinessCard, {
person,
qrCodeDataUrl,
variant: 'white', // We only use the white variant now
}),
);
@@ -93,47 +94,20 @@ END:VCARD`;
console.log(`✓ Final Print File generated (Fonts to Paths, RGB preserved): ${finalFileName}`);
// Generate White Variant
const finalFileNameWhite = `KLZ_Visitenkarte_${safeName}_White.pdf`;
const rgbPathWhite = path.join(CONFIG.outputDir, `RGB_${finalFileNameWhite}`);
const finalPathWhite = path.join(CONFIG.outputDir, finalFileNameWhite);
// Convert to CMYK for Viaprinto
const finalFileNameCMYK = `KLZ_Visitenkarte_${safeName}_Viaprinto_CMYK.pdf`;
const finalPathCMYK = path.join(CONFIG.outputDir, finalFileNameCMYK);
console.log(`- Rendering White Variant...`);
const bufferWhite = await renderToBuffer(
React.createElement(PDFBusinessCard, {
person,
qrCodeDataUrl,
variant: 'white',
}),
);
fs.writeFileSync(rgbPathWhite, bufferWhite);
const gsCommandWhite = `gs -dNoOutputFonts -sDEVICE=pdfwrite -o "${finalPathWhite}" "${rgbPathWhite}"`;
execSync(gsCommandWhite, { stdio: 'ignore' });
fs.unlinkSync(rgbPathWhite);
console.log(`✓ White Variant generated: ${finalFileNameWhite}`);
// Generate Black Variant
const finalFileNameBlack = `KLZ_Visitenkarte_${safeName}_Black.pdf`;
const rgbPathBlack = path.join(CONFIG.outputDir, `RGB_${finalFileNameBlack}`);
const finalPathBlack = path.join(CONFIG.outputDir, finalFileNameBlack);
console.log(`- Rendering Black Variant...`);
const bufferBlack = await renderToBuffer(
React.createElement(PDFBusinessCard, {
person,
qrCodeDataUrl,
variant: 'black',
}),
);
fs.writeFileSync(rgbPathBlack, bufferBlack);
const gsCommandBlack = `gs -dNoOutputFonts -sDEVICE=pdfwrite -o "${finalPathBlack}" "${rgbPathBlack}"`;
execSync(gsCommandBlack, { stdio: 'ignore' });
fs.unlinkSync(rgbPathBlack);
console.log(`✓ Black Variant generated: ${finalFileNameBlack}`);
console.log(`- Converting to CMYK for Viaprinto...`);
const cmykScript =
'/Users/marcmintel/.gemini/config/plugins/mintel-ui-standards-plugin/skills/mintel-print-workflow/scripts/convert-cmyk.sh';
const cmykCommand = `bash "${cmykScript}" "${finalPath}" "${finalPathCMYK}"`;
try {
execSync(cmykCommand, { stdio: 'ignore' });
console.log(`✓ CMYK Print File generated: ${finalFileNameCMYK}`);
} catch (e) {
console.error(`❌ CMYK conversion failed! Is Ghostscript installed?`);
}
}
}