fix: resolve PDF business card layout overlap and aspect ratio distortion
Some checks failed
Build & Deploy / 🔍 Prepare (push) Successful in 22s
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-12 11:29:34 +02:00
parent 0ad975f049
commit 12eadba0ee
17 changed files with 13 additions and 10 deletions

View File

@@ -162,7 +162,6 @@ const styles = StyleSheet.create({
backContainer: {
flex: 1,
paddingTop: '4mm', // Reduced significantly to pull content up
paddingBottom: '10mm',
paddingLeft: '6mm',
paddingRight: '6mm',
flexDirection: 'column',
@@ -170,7 +169,7 @@ const styles = StyleSheet.create({
backHeader: {
flexDirection: 'row',
alignItems: 'center',
marginBottom: '2mm', // Reduced to prevent vertical overflow
marginBottom: '8mm', // Generous breathing room
width: '100%',
},
backLogo: {
@@ -201,8 +200,8 @@ const styles = StyleSheet.create({
},
backBody: {
flex: 1,
flexDirection: 'row',
justifyContent: 'space-between',
flexDirection: 'column',
justifyContent: 'flex-start',
alignItems: 'flex-start',
width: '100%',
},
@@ -211,7 +210,7 @@ const styles = StyleSheet.create({
flexDirection: 'column',
},
nameSection: {
marginBottom: '1mm', // Reduced to prevent vertical overflow
marginBottom: '4mm', // Generous space before contact info
},
nameText: {
fontSize: 14,
@@ -234,7 +233,7 @@ const styles = StyleSheet.create({
contactRow: {
flexDirection: 'row',
alignItems: 'center',
marginBottom: 2, // Reduced to prevent vertical overflow
marginBottom: 4, // Professional spacing
},
iconWrapper: {
width: 12,
@@ -739,7 +738,6 @@ export const PDFBusinessCard: React.FC<PDFBusinessCardProps> = ({
<Page
size={[258, 173]}
style={[styles.pageBleed, isWhiteVariant && { backgroundColor: '#ffffff' }]}
wrap={false}
>
{withTruck && (
<View style={styles.truckWrapper}>
@@ -816,7 +814,7 @@ export const PDFBusinessCard: React.FC<PDFBusinessCardProps> = ({
</Page>
{/* VORDERSEITE (White page with contact info) */}
<Page size={[258, 173]} style={styles.pageBleedBack} wrap={false}>
<Page size={[258, 173]} style={styles.pageBleedBack}>
<View style={styles.backContainer}>
<View style={styles.backHeader}>
<VectorLogo
@@ -835,7 +833,12 @@ export const PDFBusinessCard: React.FC<PDFBusinessCardProps> = ({
<View style={styles.backBody}>
{withTruck && (
<View style={styles.truckBackWrapper}>
<View
style={[
styles.truckBackWrapper,
{ position: 'absolute', top: 0, left: 0, right: 0, bottom: 0, zIndex: -1 },
]}
>
<TruckBlueprint
style={styles.backBackgroundImage}
opacity={isWhiteVariant ? 0.35 : 0.25}

Binary file not shown.

After

Width:  |  Height:  |  Size: 73 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 17 KiB

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 44 KiB

After

Width:  |  Height:  |  Size: 36 KiB

View File

@@ -94,7 +94,7 @@ END:VCARD`;
// Convert fonts to outlines via ghostscript
const gsCommand = `gs -dNoOutputFonts -sDEVICE=pdfwrite -o "${finalPath}" "${tempPath}"`;
execSync(gsCommand, { stdio: 'inherit' });
fs.unlinkSync(tempPath);
// fs.unlinkSync(tempPath);
console.log(`✓ Final Print File generated (Fonts to Paths, RGB preserved): ${finalFileName}`);
// 2. VIAPRINTO PDF (Letterpress mask, CMYK)