- Reduced padding (1.5mm → 1mm), barcode height (7mm → 6mm) - Tighter line heights, combined serial/voltage on one line - Barcode text size 14 → 12 to reduce image height - Vertical flex layout instead of horizontal (no QR = more space) - Should now fit within 29mm height without overflow Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -8,7 +8,7 @@ export async function generateBarcodeSvg(text: string): Promise<string> {
|
|||||||
scale: 3,
|
scale: 3,
|
||||||
height: 8,
|
height: 8,
|
||||||
includetext: true,
|
includetext: true,
|
||||||
textsize: 14,
|
textsize: 12,
|
||||||
textxalign: 'center'
|
textxalign: 'center'
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
@@ -36,23 +36,19 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
{#each Array(copies) as _}
|
{#each Array(copies) as _}
|
||||||
<div class="label" style="width: 70mm; height: 29mm; background: white; color: black; box-sizing: border-box; padding: 1.5mm 2mm; margin: 0 auto 8px auto; border: 1px dashed #ccc; overflow: hidden;">
|
<div class="label" style="width: 70mm; height: 29mm; background: white; color: black; box-sizing: border-box; padding: 1mm 2mm; margin: 0 auto 8px auto; border: 1px dashed #ccc; overflow: hidden;">
|
||||||
<div style="display: flex; align-items: center; height: 100%; font-family: Arial, Helvetica, sans-serif;">
|
<div style="display: flex; flex-direction: column; justify-content: center; height: 100%; font-family: Arial, Helvetica, sans-serif;">
|
||||||
<div style="flex: 1; min-width: 0;">
|
<div style="font-size: 9pt; font-weight: bold; color: #000; line-height: 1.1; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;">
|
||||||
<div style="font-size: 10pt; font-weight: bold; color: #000; line-height: 1.2; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;">
|
{data.component.title}
|
||||||
{data.component.title}
|
</div>
|
||||||
</div>
|
<div style="font-size: 6pt; color: #444; line-height: 1.2; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;">
|
||||||
<div style="font-size: 7pt; color: #444; line-height: 1.3; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;">
|
{data.component.componentType}
|
||||||
{data.component.componentType}
|
{#if data.component.brand}· {data.component.brand}{/if}
|
||||||
{#if data.component.brand}· {data.component.brand}{/if}
|
{#if data.component.partNumber} · P/N: {data.component.partNumber}{/if}
|
||||||
</div>
|
</div>
|
||||||
{#if data.component.partNumber}
|
<div style="margin-top: 0.5mm;">
|
||||||
<div style="font-size: 6pt; color: #666; margin-top: 0.3mm;">P/N: {data.component.partNumber}</div>
|
<img src={data.barcodeDataUrl} alt={data.shortId}
|
||||||
{/if}
|
style="height: 6mm; width: auto; max-width: 65mm; display: block;" />
|
||||||
<div style="margin-top: 1mm;">
|
|
||||||
<img src={data.barcodeDataUrl} alt={data.shortId}
|
|
||||||
style="height: 7mm; width: auto; max-width: 55mm; display: block;" />
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -36,32 +36,31 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
{#each Array(copies) as _}
|
{#each Array(copies) as _}
|
||||||
<div class="label" style="width: 70mm; height: 29mm; background: white; color: black; box-sizing: border-box; padding: 1.5mm 2mm; margin: 0 auto 8px auto; border: 1px dashed #ccc; overflow: hidden;">
|
<div class="label" style="width: 70mm; height: 29mm; background: white; color: black; box-sizing: border-box; padding: 1mm 2mm; margin: 0 auto 8px auto; border: 1px dashed #ccc; overflow: hidden;">
|
||||||
<div style="display: flex; align-items: center; height: 100%; font-family: Arial, Helvetica, sans-serif;">
|
<div style="display: flex; flex-direction: column; justify-content: center; height: 100%; font-family: Arial, Helvetica, sans-serif;">
|
||||||
<div style="flex: 1; min-width: 0;">
|
<div style="font-size: 9pt; font-weight: bold; color: #000; line-height: 1.1; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;">
|
||||||
<div style="font-size: 10pt; font-weight: bold; color: #000; line-height: 1.2; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;">
|
{data.device.title}
|
||||||
{data.device.title}
|
|
||||||
</div>
|
|
||||||
{#if data.device.brand || data.device.model}
|
|
||||||
<div style="font-size: 7pt; color: #444; line-height: 1.3; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;">
|
|
||||||
{[data.device.brand, data.device.model].filter(Boolean).join(' ')}
|
|
||||||
</div>
|
|
||||||
{/if}
|
|
||||||
{#if data.device.serialNumber}
|
|
||||||
<div style="font-size: 6pt; color: #666; margin-top: 0.3mm;">
|
|
||||||
S/N: {data.device.serialNumber}
|
|
||||||
</div>
|
|
||||||
{/if}
|
|
||||||
{#if data.device.voltage || data.device.frequency}
|
|
||||||
<div style="font-size: 6pt; color: #666; margin-top: 0.3mm;">
|
|
||||||
{[data.device.voltage, data.device.frequency].filter(Boolean).join(' / ')}
|
|
||||||
</div>
|
|
||||||
{/if}
|
|
||||||
<div style="margin-top: 1mm;">
|
|
||||||
<img src={data.barcodeDataUrl} alt={data.shortId}
|
|
||||||
style="height: 7mm; width: auto; max-width: 55mm; display: block;" />
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
|
{#if data.device.brand || data.device.model}
|
||||||
|
<div style="font-size: 6pt; color: #444; line-height: 1.2; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;">
|
||||||
|
{[data.device.brand, data.device.model].filter(Boolean).join(' ')}
|
||||||
|
</div>
|
||||||
|
{/if}
|
||||||
|
{#if data.device.serialNumber}
|
||||||
|
<div style="font-size: 5pt; color: #666;">
|
||||||
|
S/N: {data.device.serialNumber}
|
||||||
|
{#if data.device.voltage} · {data.device.voltage}{/if}
|
||||||
|
{#if data.device.frequency} · {data.device.frequency}{/if}
|
||||||
|
</div>
|
||||||
|
{:else if data.device.voltage || data.device.frequency}
|
||||||
|
<div style="font-size: 5pt; color: #666;">
|
||||||
|
{[data.device.voltage, data.device.frequency].filter(Boolean).join(' · ')}
|
||||||
|
</div>
|
||||||
|
{/if}
|
||||||
|
<div style="margin-top: 0.5mm;">
|
||||||
|
<img src={data.barcodeDataUrl} alt={data.shortId}
|
||||||
|
style="height: 6mm; width: auto; max-width: 65mm; display: block;" />
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
{/each}
|
{/each}
|
||||||
|
|||||||
Reference in New Issue
Block a user