Someone books, buys or joins → the thing they hold

Not every document is a table of numbers. Some of them get scanned at a door.

Trigger → artefact

A booking is confirmed, a voucher is bought, a parcel is packed, a customer joinsa pass, a card, a label or a letter — at the real page size, with a code that scans

These are the documents nobody files. They are carried on a phone, printed on a thermal roll, or handed across a counter — and they fail differently from an invoice. A wrong total is an argument; a QR that will not scan is a queue at the door.

So the page size is the real one — A5 for a pass, A5 landscape for a voucher, 101.6 × 152.4 mm for a label — and the codes are drawn as vectors during the render, not pasted in as an image that goes soft at 300 DPI. There is almost no arithmetic here, which is the point: the caller sends the strings, and what comes back is the artefact.

Built with the HTML API. Need a designed image or certificate instead? Use the Canvas API — same data, same free year.

An A5 event pass PDF rendered by PixlDocs, with a scannable QR code and attendee entitlements
Event pass — rendered by the template this page calls.

What ships in this category

The documents, and the part of each that is hard.

An A5 event pass PDF rendered by PixlDocs, with a scannable QR code and attendee entitlements

Event pass

A5 admission pass: attendee, tier, dates and venue, the entitlements it opens, and a QR given enough clearance to scan off a screen.

Hard part A vector QR with the quiet zone kept, at a page size a scanner actually meets.

template_id 660b0f05-93a5-4f05-b5b4-33248025f2a4

An A5 landscape gift voucher PDF rendered by PixlDocs, showing the value, code and terms

Gift voucher

A5 landscape card: a saturated face carrying the value in your brand colour, and a paper half carrying the code, the message and the terms.

Hard part A full-bleed colour face at A5 landscape that survives print without a white hairline.

template_id 40e09323-4b68-412f-9641-4212bd1c7a61

A 4 by 6 inch thermal shipping label PDF rendered by PixlDocs, with a Code 128 barcode

Shipping label

The 4 × 6 label a warehouse prints thousands of a day: heavy addresses, a service band, and a Code 128 barcode of the tracking number.

Hard part Code 128 drawn to spec at thermal-printer resolution, on a non-A4 page.

template_id d936cb21-6192-417c-8885-69a5b304596b

A branded welcome letter PDF rendered by PixlDocs, with key dates and an onboarding checklist

Welcome letter

One page on your stationery when someone joins or a plan starts: the key dates, a numbered checklist, and a QR to the portal.

Hard part Nothing arithmetic — which is why it has to look like it came from you, not from us.

template_id 1ca8360e-4447-41d3-9a85-1097f3a91d43

The whole integration

One call. Named fields. No SDK to install.

the call your product makesbash
# one call when the ticket is issued
curl https://api.pixldocs.com/v1/render \
  -H "Authorization: Bearer $PIXLDOCS_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "template_id": "660b0f05-93a5-4f05-b5b4-33248025f2a4",
    "format": "pdf",
    "data": {
      "organiser": "Northbound Conf",
      "event_name": "Northbound 2026",
      "attendee_name": "Rina Takahashi",
      "ticket_id": "NB26-0731-A",
      "event_date": "24-25 September 2026",
      "venue_name": "The Foundry, Hall 2",
      "scan_value": "https://northbound.example.com/pass/NB26-0731-A",
      "entitlements": [{ "item": "All talks, both days" }]
    }
  }' --output pass.pdf

Run against the API before publishing: 200, application/pdf, 25 KB at A5 — and the QR in it is vector, so it is the same code at screen size and at 300 DPI.

The contract

Exactly what you send, exactly what you get.

These templates take named keys — no positional arguments, no layout to describe. Send a row array and the pagination follows it.

Event pass

660b0f05-93a5-4f05-b5b4-33248025f2a4

Fields · 19

brand_colororganiserevent_nametier_labelattendee_nameattendee_orgticket_idevent_datedoors_timevenue_namevenue_addressseat_labelseat_valuescan_valueentry_noteprice #currency_codecurrency_localeterms_note

Rows · entitlements[]

item

Send as many as you have. Pagination, running totals and the carried-forward header are the renderer's problem, not yours.

Rows · schedule[]

time · title

Send as many as you have. Pagination, running totals and the carried-forward header are the renderer's problem, not yours.

Gift voucher

40e09323-4b68-412f-9641-4212bd1c7a61

Fields · 17

brand_colorbrand_namebrand_urleyebrowvalue #currency_codecurrency_localevalue_noterecipient_namesender_namemessagecodeissued_onexpires_onredeem_urlredeem_noteterms_title

Rows · terms[]

line

Send as many as you have. Pagination, running totals and the carried-forward header are the renderer's problem, not yours.

Shipping label

d936cb21-6192-417c-8885-69a5b304596b

Fields · 20

accent_colorcarrier_nameservice_labeltracking_numberreferenceship_datesender_namesender_addressrecipient_namerecipient_line1recipient_line2recipient_cityrecipient_postrecipient_countryrecipient_phoneweightparcel_ofroute_codeinstructionscontents

Welcome letter

1ca8360e-4447-41d3-9a85-1097f3a91d43

Fields · 22

brand_colororganisationorganisation_urleyebrowheadlinerecipient_namerecipient_emailreferencestart_labelstart_valuerole_labelrole_valuecontact_labelcontact_valuebody_1body_2steps_titleportal_urlportal_labelsignature_namesignature_rolefooter_note

Rows · steps[]

title · detail

Send as many as you have. Pagination, running totals and the carried-forward header are the renderer's problem, not yours.

What you would ask next.

Will the QR actually scan?

It is drawn as vector paths with the quiet zone preserved, so it does not degrade when the pass is printed or zoomed. What we do not do is validate the payload — if you send a URL that 404s, we print it faithfully.

Our labels go to a thermal printer, not A4.

The label template is 101.6 × 152.4 mm with zero margins, which is the 4 × 6 roll. Any page size can be set per template; we do not force A4 on documents that are not A4.

Can these carry our brand, not a generic look?

The workspace brand kit supplies the logo, accent colour and typeface, and the voucher and pass take a brand colour per call, so one template can serve several brands.

Ten thousand passes for one event?

Same burst path as payroll: submit in batches of 100 and poll the ids. We have measured 1,000 documents end to end; beyond that is arithmetic, not a promise.

Your system already knows when the document is owed.

Free to start · No credit card required