A lightweight, open-source PDF viewer and editor for Windows (macOS and Linux later). It's built with Tauri 2, Svelte 5 and PDFium. See docs/ROADMAP.md for the plan.
- View: tabs, thumbnails, bookmarks, search (Ctrl+F), text selection and copy, links, zoom, print,
password-protected PDFs, recent files, opens
.pdffiles from Explorer - Edit (Ctrl+E): double-click text to edit it in place (keeps the original fonts where possible), move/delete text blocks, add text, replace/move/resize/delete/add images
- Comment: highlight, underline, strikethrough, sticky notes, freehand pen, rectangles, ellipses
- Fill & sign: fill form fields (text, checkboxes, radio buttons, drop-downs); draw, type or upload a signature
- Pages: rotate, delete, reorder by dragging thumbnails, insert blank pages, pages from another PDF (merge) or images, extract pages to a new PDF, split into several files
- Protect & shrink: password protection (AES-256), reduce file size, true redaction
- Export: pages as PNG/JPEG; document properties
- Undo/redo (Ctrl+Z / Ctrl+Y), save (Ctrl+S) and save as (Ctrl+Shift+S), with automatic backups
Installers for Windows, macOS and Linux are on the Releases page. Installed copies update themselves.
- Rust (stable, MSVC toolchain) and Visual Studio C++ Build Tools
- Node.js 20+ and pnpm
- WebView2 (preinstalled on Windows 10/11)
pnpm install
./scripts/fetch-pdfium.ps1 # Windows: downloads pdfium.dll into src-tauri/pdfium/
# macOS/Linux: ./scripts/fetch-pdfium.sh mac-arm64 | mac-x64 | linux-x64pnpm tauri dev # development
pnpm tauri build # release installers (NSIS + MSI) in src-tauri/target/release/bundle- Bump the version everywhere at once:
pnpm bump(patch, e.g. 0.1.0 → 0.1.1), orpnpm bump minor/pnpm bump major/pnpm bump 1.2.3. Commit the change. - Push a tag with the same version:
git tag v0.1.1 && git push origin v0.1.1. The build stops early if the tag and the app version don't match. - GitHub Actions builds every platform into a draft release; publish it to ship the update.
The update signing key must be in the repository secret TAURI_SIGNING_PRIVATE_KEY
(Settings → Secrets and variables → Actions).
src/— Svelte UI (lib/PdfView.svelteis the virtualized page view,lib/api.tswraps the IPC calls)src-tauri/src/engine.rs— PDFium worker thread (open, render, and later edit)src-tauri/src/lib.rs— Tauri commands
MIT. PDFium is BSD-3-Clause / Apache-2.0.
