Skip to content

abumdselim/pdfingpro

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

9 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Pdfing Pro

A privacy-first PDF toolkit for the browser and desktop. Most tools run 100% client-side β€” your files stay on your device. Website URL to PDF uses local headless-browser rendering (same approach as major online converters).

Next.js React TypeScript License


🎯 Features

  • βœ… Client-Side PDF Tools - Merge, split, compress, OCR, and more run in your browser
  • βœ… Website to PDF - Public URLs rendered with headless Chrome (local server / desktop app)
  • βœ… 18+ PDF Tools - Convert, merge, split, compress, watermark, and more
  • βœ… Intuitive UI - Modern, responsive design for desktop and mobile
  • βœ… Real-Time Preview - See changes instantly as you edit
  • βœ… No Installation Required - Works directly in your browser
  • βœ… Open Source - Full transparency, community-driven

πŸ› οΈ Available Tools

Tool Description
Merge PDF Combine multiple PDFs into one
Split PDF Extract specific pages from a PDF
Compress PDF Reduce file size while maintaining quality
Protect PDF Add password protection to PDFs
Unlock PDF Remove password protection
Rotate PDF Rotate pages 90Β°, 180Β°, or 270Β°
Add Page Numbers Insert page numbers with custom styling
Watermark PDF Add text or image watermarks
Stamp PDF Apply stamps to specific pages
Draw / Highlight PDF Draw freehand strokes or highlight text and annotations
OCR PDF Extract text from scanned documents
PDF to JPG Convert pages to high-quality images
JPG to PDF Create PDFs from image files
PDF to Word Extract content to Word documents
Website / HTML to PDF Convert public webpages or local HTML into a downloadable PDF
Organize PDF Reorder, delete, or duplicate pages

πŸ“± User Interface

Desktop View

Desktop Interface

πŸ”’ Privacy & Security Architecture

All processing happens locally in your browser. Here's the complete data flow:

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                     YOUR BROWSER (CLIENT)                       β”‚
β”‚                                                                   β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”         β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”                 β”‚
β”‚  β”‚  Your Files  │────────▢│  PDF.js Library  β”‚                 β”‚
β”‚  β”‚  (Never      β”‚         β”‚  (Renders pages  β”‚                 β”‚
β”‚  β”‚   uploaded)  β”‚         β”‚   in memory)     β”‚                 β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜         β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜                 β”‚
β”‚         β–²                           β”‚                           β”‚
β”‚         β”‚                           β–Ό                           β”‚
β”‚         β”‚                  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”                β”‚
β”‚         β”‚                  β”‚  pdf-lib          β”‚                β”‚
β”‚         β”‚                  β”‚  (PDF mutations)  β”‚                β”‚
β”‚         β”‚                  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜                β”‚
β”‚         β”‚                           β”‚                           β”‚
β”‚         β”‚β—€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜                           β”‚
β”‚         β”‚                                                        β”‚
β”‚    βœ… DOWNLOAD                                                  β”‚
β”‚    (Your edited PDF)                                           β”‚
β”‚                                                                  β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

                        ❌ NO CLOUD PDF UPLOAD ❌
                  ❌ NO THIRD-PARTY CONVERTER ❌
                  ❌ NO DATA TRACKING ❌

Website URL to PDF uses your **local app server** (headless Chrome), not a third-party cloud.

Why Pdfing Pro?

Aspect Pdfing Pro Traditional Cloud Tools
Data Privacy πŸ” 100% private ⚠️ Uploaded to servers
Processing Speed ⚑ Instant 🐒 Depends on network
No Account Needed βœ… Yes ❌ Requires registration
Offline Support βœ… Works offline ❌ Requires internet
No Data Retention βœ… Guaranteed ❌ Files stored on servers
Cost βœ… Free ⚠️ Often paid per operation

πŸš€ Quick Start

Prerequisites

  • Node.js 18.18+ and npm 9+ (required for Next.js build and CI)
  • Node.js 25.7+ recommended if you use Unlock PDF (modern-pdf-lib declares this engine requirement)
  • Modern web browser with JavaScript enabled

Note: npm install may show an EBADENGINE warning for modern-pdf-lib on Node 18–25.6. The web app and most tools still work; only unlock/decrypt flows depend on that package.

Website to PDF requires headless Chrome. It is installed automatically via postinstall, or run manually:

npx puppeteer browsers install chrome

Installation

git clone https://github.com/inievolabs/pdfingpro.git
cd pdfingpro

# Install dependencies
npm install

# Start the development server
npm run dev

The application will be available at http://localhost:3000

Build for Production

npm run build
npm start

Run Tests

npm test

CI runs lint, tests, and production build on Node 20 and 22 (see .github/workflows/ci.yml).

Build a Desktop Executable

npm run build:desktop

This creates a Windows portable executable in the release/ folder, similar to a desktop app shell.


πŸ—οΈ Project Structure

pdfingpro/
β”œβ”€β”€ app/                      # Next.js app directory
β”‚   β”œβ”€β”€ (tools)/             # Dynamic tool routes
β”‚   β”œβ”€β”€ layout.tsx           # Root layout
β”‚   β”œβ”€β”€ page.tsx             # Home page
β”‚   └── globals.css          # Global styles
β”œβ”€β”€ components/
β”‚   β”œβ”€β”€ layout/              # Header, Footer
β”‚   └── shared/              # Reusable components
β”œβ”€β”€ lib/
β”‚   β”œβ”€β”€ pdf/                 # PDF processing logic
β”‚   β”œβ”€β”€ tools.ts             # Tool definitions
β”‚   └── utils.ts             # Utility functions
β”œβ”€β”€ assets/
β”‚   └── mockup_images/       # UI mockups
└── public/                  # Static assets

πŸ”§ Tech Stack

  • Framework: Next.js 14
  • Language: TypeScript
  • Styling: Tailwind CSS
  • PDF Processing:
  • OCR: Tesseract.js
  • Document Export: docx
  • Compression: JSZip

πŸ“– Usage Guide

Basic Workflow

  1. Upload PDF - Drag and drop or click to select
  2. Choose Tool - Select the operation you want to perform
  3. Configure - Adjust settings in the sidebar
  4. Preview - See changes in real-time
  5. Download - Export your processed PDF

Example: Merge PDFs

  1. Open the "Merge PDF" tool
  2. Upload multiple PDFs in order
  3. Preview the merged result
  4. Click "Download" to save

Example: Add Watermark

  1. Open the "Watermark PDF" tool
  2. Upload your PDF
  3. Enter watermark text and customize appearance
  4. Click "Apply" to preview
  5. Download the watermarked PDF

🀝 Contributing

We welcome contributions! Please see CONTRIBUTING.md for detailed guidelines on:

  • Setting up your development environment
  • Code standards and conventions
  • Pull request process
  • Bug reporting
  • Feature requests

πŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.


πŸ™ Acknowledgments

Built with love using:


πŸ‘₯ Credits & Maintenance


πŸ” Privacy Policy

Your data is your own. Pdfing Pro operates with transparency:

  • βœ… No analytics tracking
  • βœ… No cookies
  • βœ… No third-party data sharing for PDF file uploads
  • βœ… PDF file tools run client-side (files stay in your browser)
  • ⚠️ Website URL to PDF sends the URL to your local app server for headless rendering β€” not to a third-party cloud converter
  • βœ… No user accounts required

Your uploaded PDF files are never sent to external servers.


🚦 Roadmap

  • Batch processing for multiple files
  • Custom template creation
  • Advanced OCR with language support
  • Form filling automation
  • Signature verification
  • Cloud storage integration (optional, user opt-in)
  • Mobile app (React Native)
  • Browser extensions

πŸ“Š Stats

  • 18+ Tools ready to use
  • Most tools client-side β€” files stay in the browser
  • Website URL rendering runs on your own app server (local/desktop)
  • ∞ Free forever

Made with ❀️ for privacy-conscious users everywhere.

About

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors