Document Printing & In-Hand Viewing
Turn any image URL into a paper document your players can hold and read. Walk up to a printer, paste a link, and receive a real inventory item — hold it to see the image on a paper prop in-hand, synced to everyone nearby, with a full-screen zoomable viewer on E. Built with a fast, modern Svelte UI and fully framework-agnostic.
Preview: https://youtu.be/dyTpNvLoDiw
Documentation: PRINTER | FinalStory Docs
What you get
Printer interaction —
ox_target on configurable printer props with a clean NUI to submit an image URLAbuse protection — server-validated domain & file-extension whitelist
Real items — printed docs become
ox_inventory items with the image stored in metadataIn-hand paper prop — DUI runtime texture synced to nearby players via state bags
Full-screen viewer — zoom with mouse wheel or buttons (E to view, G to put away)
Admin tooling — admin-only
/spawnprinter command (ace group.admin) to place & delete propsFully translatable — Lua and the entire UI localized through
ox_lib (EN + CS included)Why erp_printer
Framework-agnostic — needs only
ox_lib, ox_inventory and ox_target, so it runs on any framework (or none). No bridge layers, no overhead.Fully translatable — English & Czech included; add any language with a single
locales/*.json file, no rebuild needed.Made to customize — notification routing and admin check live in open, editable hook files; config, whitelists and props are all in plaintext.
Built to integrate — hand out documents from your own scripts via
exports.erp_printer:PrintDocument(source, url, description?).Clean & quiet — no external logging, just a simple debug toggle, plus a built-in update notifier you can turn off via convar.
Requirements
ox_lib · ox_inventory · ox_target
Framework-agnostic — no framework core and no paid dependencies.
Setup in minutes
Start dependencies before
erp_printerAdd the document item to
ox_inventory (client export erp_printer.UseDocument)Set your locale convar (
en or cs)Configure printer props, paper prop and allowed domains in
config.luaensure erp_printerA full README ships with the package.
Free download — escrow-protected with intentionally open, editable configuration & integration files. Support provided through this store.
© FinalStory.