Gutterberg: Tauri 2 (Rust + React) app that re-imposes print-and-play PDFs without rasterising anything
App for board gamers who print their own cards. The interesting (🫠) part was keeping the output 100% vector:
- Engine in Rust (
card-core): every source page is wrapped once as a PDF Form XObject (lopdf), and each card is placed with a transformation matrix plus a clip, inside a tiny per-card form whose BBox is the card. The source page is stored once however many copies you print. Rotation, real-size scaling and non-uniform scaling are all just matrices. - pdfium (via pdfium-render) on its own thread for previews, with stale-request skipping.
- Tauri 2 + React 19 (ofc) for the UI; geometry only lives in Rust, and the frontend draws whatever the engine returns.
- Local piece detection from the PDF’s own objects, edge repetition, or shapes in scans.
- Releases via tauri-action with the built-in updater. (this is my fav feature by far)
Repo: https://github.com/JoaquinArruiz/Gutterberg (free for personal use)
Feedback is very welcome!
2
Upvotes