feat(sticker): much bigger text + QR +30%
wkhtmltopdf renders CSS font-size at a smaller physical scale than the em-square math predicts (a "30pt" cell text was only ~4mm tall visually). Pushing all type up significantly so it actually reads at scan/print distance: Text bumps: - Body field text 30pt -> 50pt (+67%, label + value) - WO# 56pt -> 72pt (+29%) - Notes label 30pt -> 44pt - Notes content 22pt -> 30pt (+36%) - Muted rev tag 22pt -> 30pt - Body cell padding 0 10px -> 0 8px (a touch more horizontal room for long values now that the font is bigger) QR + 30% as asked: - Wrapper 280 -> 365px (+30.4%). Image 368 -> 480px, offset -44 -> -58px (recomputed for the new quiet-zone crop). Header re-balanced for the bigger content: - Height 25% -> 32% (fits the +30% QR + bigger WO# + bigger logo at 135px) - Body band: 75% -> 68% (rows now ~9.6mm tall; line-height 1.0 keeps the 50pt body text snug inside) Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -3,7 +3,7 @@
|
||||
# License OPL-1 (Odoo Proprietary License v1.0)
|
||||
{
|
||||
'name': 'Fusion Plating — Reports',
|
||||
'version': '19.0.10.7.0',
|
||||
'version': '19.0.10.8.0',
|
||||
'category': 'Manufacturing/Plating',
|
||||
'summary': 'PDF reports for Fusion Plating: quote, SO, WO, packing, BoL, CoC, invoice, receipt, quality + compliance.',
|
||||
'depends': [
|
||||
|
||||
@@ -112,13 +112,11 @@
|
||||
page-break-inside: avoid;
|
||||
}
|
||||
/* ---- HEADER band: 3 horizontal cells, divided by vertical
|
||||
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. ---- */
|
||||
rules. Logo / WO# / QR. 32% to fit the +30% QR. ---- */
|
||||
.fp-sticker-head-wrap {
|
||||
position: absolute;
|
||||
left: 0; right: 0; top: 0;
|
||||
height: 25%;
|
||||
height: 32%;
|
||||
border-bottom: 2px solid #000;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
@@ -140,13 +138,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: 105px;
|
||||
max-height: 135px;
|
||||
max-width: 95%;
|
||||
display: inline-block;
|
||||
vertical-align: middle;
|
||||
}
|
||||
.fp-sticker-wo {
|
||||
font-size: 56pt;
|
||||
font-size: 72pt;
|
||||
font-weight: 900;
|
||||
letter-spacing: 0.1mm;
|
||||
line-height: 1;
|
||||
@@ -156,32 +154,29 @@
|
||||
/* 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 280px = ~23.7mm at 300dpi → fits the 25% header
|
||||
band. High-def source (600x600) means it still prints
|
||||
crisp at this size. ---- */
|
||||
Wrapper 365px = ~30.9mm at 300dpi (30% larger than the
|
||||
previous 280px). 600x600 source = high-def at print scale. ---- */
|
||||
.fp-sticker-qr-wrap {
|
||||
width: 280px;
|
||||
height: 280px;
|
||||
width: 365px;
|
||||
height: 365px;
|
||||
display: inline-block;
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
}
|
||||
.fp-sticker-qr {
|
||||
width: 368px;
|
||||
height: 368px;
|
||||
width: 480px;
|
||||
height: 480px;
|
||||
position: absolute;
|
||||
top: -44px;
|
||||
left: -44px;
|
||||
top: -58px;
|
||||
left: -58px;
|
||||
margin: 0;
|
||||
display: block;
|
||||
}
|
||||
/* ---- 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. ---- */
|
||||
/* ---- BODY band: left fields region + right Notes region. ---- */
|
||||
.fp-sticker-body-wrap {
|
||||
position: absolute;
|
||||
left: 0; right: 0;
|
||||
top: 25%; bottom: 0;
|
||||
top: 32%; bottom: 0;
|
||||
}
|
||||
.fp-body-left {
|
||||
position: absolute;
|
||||
@@ -209,8 +204,8 @@
|
||||
col.fp-col-value { width: 62%; }
|
||||
table.fp-sticker-body td {
|
||||
vertical-align: middle;
|
||||
padding: 0 10px;
|
||||
font-size: 30pt;
|
||||
padding: 0 8px;
|
||||
font-size: 50pt;
|
||||
line-height: 1.0;
|
||||
}
|
||||
td.fp-sticker-label {
|
||||
@@ -225,16 +220,16 @@
|
||||
white-space: nowrap;
|
||||
}
|
||||
.fp-sticker-strong { font-weight: 700; }
|
||||
.fp-sticker-muted { color: #555; font-size: 22pt; }
|
||||
.fp-sticker-muted { color: #555; font-size: 30pt; }
|
||||
/* Notes column on the right side of the body. */
|
||||
.fp-notes-label {
|
||||
font-weight: 700;
|
||||
font-size: 30pt;
|
||||
margin: 0 0 8px 0;
|
||||
font-size: 44pt;
|
||||
margin: 0 0 10px 0;
|
||||
}
|
||||
.fp-notes-content {
|
||||
font-size: 22pt;
|
||||
line-height: 1.2;
|
||||
font-size: 30pt;
|
||||
line-height: 1.15;
|
||||
white-space: pre-line;
|
||||
word-wrap: break-word;
|
||||
overflow: hidden;
|
||||
|
||||
Reference in New Issue
Block a user