Templates are configured and stored in the database, similar to Action/Trigger templates, using Template Toolkit.
Modifying templates requires permissions.
Print templates can be saved per-org (and potentially per workstation if needed).
Print templates are managed via admin UI.
Support per-locale templates.
Templates can produce different content types
Templates are compiled for printing on the server
At print time, the caller passes template data, template name, etc. to the server and receives a compiled (text, html, etc.) response.
Template content can be scrubbed on the server for added security.
Note we are already using server-managed templates for self-checkout receipts, some ACQ interfaces, and various others, so the general concept is not new.