feat(sticker): bigger field labels + values + notes text

Trimmed the header from 30% to 25% of page height to free up
vertical room for the body band's 7 rows. Each row is now
~10.45mm tall (was 9.88mm), so the field font fits comfortably
at the bigger size.

Size bumps:
- Body field text 26pt -> 30pt (label + value, +15%)
- Muted rev tag 18pt -> 22pt
- Notes label 26pt -> 30pt
- Notes content 19pt -> 22pt (+16%, wraps cleanly to 2 lines
  when the customer description runs long)

Header re-fit (smaller cells, same content):
- Header height 30% -> 25%
- WO# font 62pt -> 56pt
- Logo max-height 135 -> 105px
- QR wrapper 340 -> 280px (image 447 -> 368px, offset -53 ->
  -44px to keep the quiet-zone crop math right)
- High-def 600x600 QR source unchanged — still prints crisp
  at the smaller wrapper size

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
gsinghpal
2026-05-12 23:41:17 -04:00
parent 8aa817b1a0
commit 649b75d4a1
2 changed files with 27 additions and 22 deletions

View File

@@ -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': [

View File

@@ -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;