Skip to main content

What you see is what mails

In the composer, after you’ve written your letter there’s a “See the exact PDF before you pay” link. It opens the actual PDF the order path will render — same typesetting, same font, same pagination — in a new tab. This catches the expensive mistakes before money moves:
  • A letter that breaks awkwardly across pages.
  • A font that reads wrong for the occasion.
  • A typo you’d rather fix now than after print.

The endpoint

The link hits GET /api/preview:
  • text — the letter body (capped at 50,000 chars, matching the order path).
  • font — one of typed | serif | typewriter | handwritten_casual | handwritten_neat.
The response is application/pdf rendered by the same renderTextToPdf the order path uses — one code path, so preview can never diverge from what prints.

Trust model

/api/preview is read-only and idempotent: it never creates an order and never mails. It’s a safe, linkable render endpoint.
Last modified on September 17, 2026