Generate downloadable invoices, receipts, or reports from an HTML template inside a web app.
Export a document as a PDF that visually matches exactly what the user sees on screen, without server-side rendering.
Add client-side PDF export to a SvelteKit, Next.js, or Nuxt app without setting up a backend PDF service.
| silly-tae/taepdf | 0labs-in/vision-link | alfons-fhl/cursor-plan2api | |
|---|---|---|---|
| Stars | 4 | 4 | 4 |
| Language | TypeScript | TypeScript | TypeScript |
| Setup difficulty | easy | moderate | moderate |
| Complexity | 2/5 | 3/5 | 3/5 |
| Audience | developer | developer | developer |
Figures from each repo's GitHub metadata at analysis time.
Client-side only, must be excluded from server-side rendering in meta-frameworks like Next.js or SvelteKit.
taepdf is a browser-based tool that turns HTML and CSS into a real PDF file. Instead of running on a server or spinning up a hidden browser instance, it works entirely inside the user's own browser tab, reading the exact position, size, color, and font of every element straight from the page's DOM, then handing that information to a Rust and WebAssembly engine that rebuilds it as a PDF. Because it reads what the browser has already rendered, the PDF matches the on-screen layout pixel for pixel, with no separate layout engine trying to guess at the result. The library is browser-only by design. It depends on DOM functions that simply do not exist in Node.js, Bun, Electron, Tauri, or any server-side rendering environment, so it cannot run in those contexts. If a project uses a framework like SvelteKit, Next.js, or Nuxt, the code that calls taepdf has to run specifically on the client side. It also ships only as modern ES modules, with no older CommonJS version, though current bundlers like Vite, webpack, and esbuild handle that automatically. Getting started is a single npm install followed by one import line, after which the engine begins preparing itself automatically. There is no separate WASM setup, font registration, or build plugin configuration required. A companion command line tool, run with npx taepdf, generates a starter template file for a document, which a developer then edits to describe their own PDF layout in HTML. A typical project ends up with two small custom files: a template function that turns data into an HTML string, and a small export utility that passes that HTML to the library's download function along with a filename and page size. The same template can also power a live, in-browser preview of the document before it is exported, so the layout only needs to be designed once. The README goes on to cover topics like pagination, headers and footers, right-to-left text, interactive forms, and framework-specific setup guides. The full README is longer than what was shown.
taepdf turns HTML and CSS into a pixel-perfect PDF entirely inside the browser, using a Rust and WebAssembly engine that reads the page's real rendered layout, with no server or headless browser needed.
Mainly TypeScript. The stack also includes TypeScript, Rust, WebAssembly.
No license information found in the README excerpt.
Setup difficulty is rated easy, with roughly 30min to a first successful run.
Mainly developer.
This repo across BitVibe Labs
double-check against the repo, no cap.