All in one PDF Manager App A cross-platform, efficient PDF manager built using Rust + Tauri. It can parse, merge, split, and extract pages from PDF files with minimal memory usage and exceptional performance.
- Parse PDFs: Quickly extract text, metadata, and analyze PDF structures.
- Merge PDFs: Combine multiple PDF files into one.
- Split PDFs: Break PDFs into separate pages or defined page ranges.
- Extract Pages: Export individual pages into standalone PDFs.
- ✅ macOS
- ✅ Windows
- ✅ Linux
- ✅ iPadOS (via WebAssembly/Web App deployment)
Ensure these tools are installed:
- Rust (stable channel recommended)
- Node.js (LTS recommended)
- pnpm or npm (pnpm recommended for speed)
Check installations:
rustc --version
node -v
pnpm -v # or npm -vClone the repository and navigate to the directory:
git clone https://github.com/pbse/PDF-Manager.git
cd PDF-ManagerInstall frontend dependencies:
pnpm install # or npm installInstall Rust dependencies (managed automatically by cargo):
cd src-tauri
cargo buildRun the application locally in development mode:
pnpm tauri dev # or npm run tauri devCreate optimized production builds for your platform:
pnpm tauri build # or npm run tauri buildThe built app will appear in:
- macOS:
src-tauri/target/release/bundle/dmg/ - Windows:
src-tauri/target/release/bundle/msi/ - Linux:
src-tauri/target/release/bundle/deb/or AppImage
Desktop (macOS/Windows/Linux):
- macOS (run on macOS):
pnpm run build:mac - Windows (run on Windows):
pnpm run build:win(requires MSVC toolchain) - Linux (run on Linux):
pnpm run build:linux(requires WebKit2GTK and related deps per Tauri docs)
Mobile (requires platform SDKs + Rust targets + Tauri mobile tooling):
- iOS/iPadOS (on macOS with Xcode, Rust targets
aarch64-apple-ios+x86_64-apple-ios, and cocoapods):- Dev:
pnpm run dev:ios - Build:
pnpm run build:ios(signing/provisioning required for device/TestFlight)
- Dev:
- Android (with Android SDK/NDK, Java 17, Rust targets
aarch64-linux-android+armv7-linux-androideabi):- Dev:
pnpm run dev:android - Build:
pnpm run build:android(configure keystore for release)
- Dev:
Notes:
- Cross-compiling desktop apps is best done on the target OS (or via CI runners) because of native toolchain requirements.
- Tauri mobile commands (
tauri ios/android ...) assume you’ve run the correspondingtauri ios init/tauri android initand have the platform SDKs installed.
src/ui/src: User interface built with Svelte (recommended), or alternatively React/Vue.src-tauri/: Tauri app configuration.src-tauri/src/pdf/: Core Rust logic for efficient PDF manipulation.
- Rust PDF manipulation:
lopdf - Tauri: Official Docs
- UI Framework: Svelte, Vue.js, or React (choose one according to preference)
Contributions welcome! Follow standard GitHub workflows:
- Fork repository, make changes, open pull request.
This project is open-sourced under the MIT License. See LICENSE file for details.
- Prashant Bansal
- GitHub: pbse