diff --git a/fusion_plating/fusion_plating_reports/__manifest__.py b/fusion_plating/fusion_plating_reports/__manifest__.py index bf72120c..69e1e9e5 100644 --- a/fusion_plating/fusion_plating_reports/__manifest__.py +++ b/fusion_plating/fusion_plating_reports/__manifest__.py @@ -3,7 +3,7 @@ # License OPL-1 (Odoo Proprietary License v1.0) { 'name': 'Fusion Plating — Reports', - 'version': '19.0.10.6.0', + 'version': '19.0.10.7.0', 'category': 'Manufacturing/Plating', 'summary': 'PDF reports for Fusion Plating: quote, SO, WO, packing, BoL, CoC, invoice, receipt, quality + compliance.', 'depends': [ diff --git a/fusion_plating/fusion_plating_reports/report/report_fp_wo_sticker.xml b/fusion_plating/fusion_plating_reports/report/report_fp_wo_sticker.xml index 980f3051..eb86073c 100644 --- a/fusion_plating/fusion_plating_reports/report/report_fp_wo_sticker.xml +++ b/fusion_plating/fusion_plating_reports/report/report_fp_wo_sticker.xml @@ -112,11 +112,13 @@ page-break-inside: avoid; } /* ---- HEADER band: 3 horizontal cells, divided by vertical - rules. Logo / WO# / QR. ---- */ + rules. Logo / WO# / QR. Trimmed from 30% to 25% so + the body band (which holds 7 rows) gets more vertical + room — needed for the bigger field font. ---- */ .fp-sticker-head-wrap { position: absolute; left: 0; right: 0; top: 0; - height: 30%; + height: 25%; border-bottom: 2px solid #000; box-sizing: border-box; } @@ -138,13 +140,13 @@ td.fp-sticker-head-logo { border-right: 2px solid #000; padding: 0 6px; } td.fp-sticker-head-wo { border-right: 2px solid #000; } .fp-sticker-logo { - max-height: 135px; + max-height: 105px; max-width: 95%; display: inline-block; vertical-align: middle; } .fp-sticker-wo { - font-size: 62pt; + font-size: 56pt; font-weight: 900; letter-spacing: 0.1mm; line-height: 1; @@ -154,29 +156,32 @@ /* QR wrapper crops the ~12% quiet-zone the barcode generator adds around the QR pattern. We render the image larger than the wrapper and offset so the wrapper clips that border out. - Wrapper 340px = ~28.8mm at 300dpi → fits the 30% header - band with breathing room. ---- */ + Wrapper 280px = ~23.7mm at 300dpi → fits the 25% header + band. High-def source (600x600) means it still prints + crisp at this size. ---- */ .fp-sticker-qr-wrap { - width: 340px; - height: 340px; + width: 280px; + height: 280px; display: inline-block; position: relative; overflow: hidden; } .fp-sticker-qr { - width: 447px; - height: 447px; + width: 368px; + height: 368px; position: absolute; - top: -53px; - left: -53px; + top: -44px; + left: -44px; margin: 0; display: block; } - /* ---- BODY band: left fields region + right Notes region ---- */ + /* ---- BODY band: left fields region + right Notes region. + 75% of page height so the 7 rows can each be ~10.6mm + tall, fitting 30pt field text with breathing room. ---- */ .fp-sticker-body-wrap { position: absolute; left: 0; right: 0; - top: 30%; bottom: 0; + top: 25%; bottom: 0; } .fp-body-left { position: absolute; @@ -204,8 +209,8 @@ col.fp-col-value { width: 62%; } table.fp-sticker-body td { vertical-align: middle; - padding: 0 12px; - font-size: 26pt; + padding: 0 10px; + font-size: 30pt; line-height: 1.0; } td.fp-sticker-label { @@ -220,16 +225,16 @@ white-space: nowrap; } .fp-sticker-strong { font-weight: 700; } - .fp-sticker-muted { color: #555; font-size: 18pt; } + .fp-sticker-muted { color: #555; font-size: 22pt; } /* Notes column on the right side of the body. */ .fp-notes-label { font-weight: 700; - font-size: 26pt; - margin: 0 0 6px 0; + font-size: 30pt; + margin: 0 0 8px 0; } .fp-notes-content { - font-size: 19pt; - line-height: 1.25; + font-size: 22pt; + line-height: 1.2; white-space: pre-line; word-wrap: break-word; overflow: hidden;