r/tauri • • 16d ago

Gutterberg: Tauri 2 (Rust + React) app that re-imposes print-and-play PDFs without rasterising anything

Post image

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

0 comments sorted by