fix(core): PDF-Export Icons kleiner (12->9px) und besser positioniert

- iconSize 12 -> 9px
- iconTextOffset 20 -> 14px (kompakter)
- Alle Icons gleichmaessig bei y+1 positioniert (sauberes vertikales Alignment mit 8pt Text)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Thomas Reitz 2026-03-13 21:39:33 +01:00
parent 927de0a809
commit 41d944312c

View file

@ -263,23 +263,23 @@ export class ProfileExportService {
const mobileIcon = this.loadIcon('Mobile.png', accentColor);
const mailIcon = this.loadIcon('Mail.png', accentColor);
const addressIcon = this.loadIcon('Address.png', accentColor);
const iconSize = 12;
const iconTextOffset = 20; // Abstand Icon → Text
const iconSize = 9;
const iconTextOffset = 14; // Abstand Icon → Text
if (data.phone) {
if (phoneIcon) doc.image(phoneIcon, leftColX, yLeft - 1, { width: iconSize, height: iconSize });
if (phoneIcon) doc.image(phoneIcon, leftColX, yLeft + 1, { width: iconSize, height: iconSize });
yLeft = this.pdfContactText(doc, data.phone, leftColX + iconTextOffset, yLeft, leftColWidth - iconTextOffset);
}
if (data.mobile) {
if (mobileIcon) doc.image(mobileIcon, leftColX + 1, yLeft - 1, { width: iconSize, height: iconSize });
if (mobileIcon) doc.image(mobileIcon, leftColX, yLeft + 1, { width: iconSize, height: iconSize });
yLeft = this.pdfContactText(doc, data.mobile, leftColX + iconTextOffset, yLeft, leftColWidth - iconTextOffset);
}
if (data.email) {
if (mailIcon) doc.image(mailIcon, leftColX, yLeft - 1, { width: iconSize, height: iconSize });
if (mailIcon) doc.image(mailIcon, leftColX, yLeft + 1, { width: iconSize, height: iconSize });
yLeft = this.pdfContactText(doc, data.email, leftColX + iconTextOffset, yLeft, leftColWidth - iconTextOffset);
}
if (data.street || data.city) {
if (addressIcon) doc.image(addressIcon, leftColX + 1, yLeft - 2, { width: iconSize, height: iconSize + 2 });
if (addressIcon) doc.image(addressIcon, leftColX, yLeft + 1, { width: iconSize, height: iconSize });
const line1 = data.street || '';
const line2 = [data.postalCode, data.city].filter(Boolean).join(' ');
const addressText = [line1, line2].filter(Boolean).join('\n');