Banner, priced from your artwork

Upload your banner artwork

No size inputs on this page; the banner is priced from your artwork’s own trim size.

Try it

  1. Upload the 3 × 1 m banner, 4.5 m² priced at the small-run rate.
  2. Now the 4.5 × 1.8 m one: 8.1 m² crosses the tier break and the rate per square metre drops.
  3. There is nothing else to fill in. That is the point.

Sample files

The inverse of the classic banner page: no size inputs at all. The upload is the specification. Filecheck measures the trim size and Print Options prices the square metres it reports.

Change any option and Filecheck re-checks the same file without re-uploading. Add ?fcdebug=1 to the URL to see what it is told about your selections.

How this page is wired

The Filecheck element owns the page; the Print Options form reacts over its public Page API. The blueprint (one JSON document) still declares both: the options with their prices, and the inline Filecheck workflow this page runs.

intake.on('status', s => {
  po.setFile(factsOf(s));          // facts reprice the form
  s.canProceed ? po.releaseHold('filecheck')
               : po.addHold('filecheck');
});
po.addEventListener('change', e =>
  intake.setContext(contextOf(e))); // selections re-check the file

View the raw blueprint + workflow.