
Minimal, type-led · Basalt & cyan · IBM Plex Sans Arabic only
Arabic / RTL
3 arabic invoice designs, each drawn as a separate take on the same document — minimal, type-led, band header and side rail — and each one data-driven rather than a fixed picture.
3 designs, each a separate take on the same document rather than a recolour of one layout: Minimal, type-led, Band header and Side rail.Every preview below is the actual compiled output, not a mock-up.
Open one in the editor and render it from your own JSON over the API — 1 page of A4 portrait, the same engine either way.
Generating these from your own data?See how invoices render over the API
Minimal, type-led · Basalt & cyan · IBM Plex Sans Arabic only

Band header · Espresso & sage · Cairo + Inter

Side rail · Oxide & teal · Amiri + Cairo
Same document, same data model, 3 different arguments about how it should look on paper. Pick on layout and typography — the content behaves identically.
| Design | Layout | Palette | Typefaces | Pages |
|---|---|---|---|---|
| Bare Margin | Minimal, type-led | Basalt & cyan | IBM Plex Sans Arabic only | 1 · A4 portrait |
| Dusk Band | Band header | Espresso & sage | Cairo + Inter | 1 · A4 portrait |
| Sadu Rail | Side rail | Oxide & teal | Amiri + Cairo | 1 · A4 portrait |
Each design is authored against an explicit reflow contract, so it is defined up front which blocks are emitted once per record and which fields absorb longer content. That is what stops the layout falling apart at a hundred rows.
| Design | Repeats per record | Grows with your data |
|---|---|---|
| Bare Margin | line entries (one measure paragraph with its figures hung in the margin beside it) | the client block; every entry's description; the closing paragraph |
| Dusk Band | line items (table rows; the head repeats on page break) | the two party blocks either side of the axis; item descriptions; the closing note |
| Sadu Rail | line items (table rows; the head repeats on page break); the three fact cells | the client address block; item descriptions; the closing note |
Open a design in the editor and the agent reshapes it around your schema — then render it from your own data over the API, or let your users edit it in the embedded editor.