Skip to content

geota/pdf.maceiras.dev

Repository files navigation

pdf.maceiras.dev

A browser-based PDF toolkit. View, merge, split, reorder, compress, and edit metadata — all processing happens locally in your browser using WebAssembly. No files are uploaded to any server.

Features

  • View — Scroll through pages with thumbnail sidebar navigation
  • Merge — Combine multiple PDFs with drag-and-drop reordering
  • Split — Extract page ranges into separate documents using expressions
  • Reorder — Rearrange, duplicate, or remove pages via drag-and-drop or expressions
  • Compress — Lossless and lossy compression with target file size support
  • Metadata — View and edit PDF title, author, subject, and keywords
  • Per-page operations — Rotate, crop, and scale individual pages from any tool

Tech Stack

Project Structure

apps/web/          SolidJS frontend
crates/pdf-core/   Rust PDF manipulation library
crates/pdf-wasm/   WASM bindings for pdf-core + PDFium
packages/          Generated WASM package (build artifact)
docs/              Research and design documents

Development

make install   # Install JS dependencies
make dev       # Build WASM (dev) + start Vite dev server
make build     # Full production build (WASM release + Vite)
make test      # Run Rust + web tests
make lint      # Run clippy + Biome + typecheck
make fmt       # Format Rust + TypeScript

Requires: Rust, wasm-pack, Node.js, pnpm

Deployment

Hosted on Cloudflare Pages as a static site.

npx wrangler pages deploy   # Deploy from apps/web/dist

License

MIT

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages