Skip to content

pbse/PDF-Manager

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PDF-Manager

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.

Features

  • 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.

Supported Platforms

  • ✅ macOS
  • ✅ Windows
  • ✅ Linux
  • ✅ iPadOS (via WebAssembly/Web App deployment)

Prerequisites

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 -v

Installation and Setup

Clone the repository and navigate to the directory:

git clone https://github.com/pbse/PDF-Manager.git
cd PDF-Manager

Install frontend dependencies:

pnpm install  # or npm install

Install Rust dependencies (managed automatically by cargo):

cd src-tauri
cargo build

Development

Run the application locally in development mode:

pnpm tauri dev  # or npm run tauri dev

Building and Distributing

Create optimized production builds for your platform:

pnpm tauri build  # or npm run tauri build

The 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

Platform targets and scripts

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)
  • 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)

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 corresponding tauri ios init / tauri android init and have the platform SDKs installed.

Code Structure Overview

  • 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.

Dependencies


Contributing

Contributions welcome! Follow standard GitHub workflows:

  • Fork repository, make changes, open pull request.

License

This project is open-sourced under the MIT License. See LICENSE file for details.


Maintainer

About

All in one PDF Manager App

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors