Common printing patterns
Build labels, receipts, documents, and design experiences around printer profiles rather than vendor settings.
Shipping and fulfilment labels
Create one native profile for each stock or finishing setup. Store the profile-backed target ID with your warehouse configuration, then send the order PDF with a stable order/label idempotency key.
await customer.printPdf({
targetId: warehouse.targets.shippingLabel4x6,
title: `Order ${order.number} label`,
pdf,
idempotencyKey: `order-${order.id}-label-v2`
});Point of sale
Use a target that can route to an available node and printer. Keep the receipt request short-lived, show current node/printer health before checkout, and provide an explicit reprint action when delivery becomes uncertain.
Batch documents
Create one job per independently retryable document. Bound concurrency in your application and use webhooks to drive progress rather than polling every job.
Design and template applications
List profiles and stock metadata before rendering. Use the profile’s page dimensions, printable area, orientation, stock identifier, and native validation state to size the canvas. The installed driver remains authoritative for trays, colour, cutters, black-mark sensors, and vendor PostScript options.
Multiple nodes
A physical printer exposed by two computers is two node-specific printer resources. Send to a printer for exact placement, or to a target for an explicit routing policy. Piqae does not silently reroute a pinned printer job.