An open API service indexing awesome lists of open source software.

https://github.com/devlinduldulao/pdf-editor


https://github.com/devlinduldulao/pdf-editor

Last synced: 14 days ago
JSON representation

Awesome Lists containing this project

README

          

# PDF Editor


A modern, browser-based PDF editor built with React, TypeScript, and Vite. Edit PDF documents, fill form fields, add text annotations, and insert imagesβ€”all directly in your browser without uploading files to any server.




CI Status


Deployed on Vercel



React
TypeScript
Vite
Tailwind CSS
shadcn/ui
PDF.js
pdf-lib
Vitest

## πŸ“‹ Table of Contents

- [Features](#-features)
- [Demo](#-demo)
- [Getting Started](#-getting-started)
- [Roadmap](#-roadmap)
- [Contributing](#-contributing)
- [License](#-license)

## ✨ Features

### Core Features
- **πŸ“„ PDF Viewing** - High-quality rendering with zoom, page navigation, and thumbnails
- **πŸ“ Form Filling** - Automatic field detection with text inputs and checkboxes
- **✍️ Text Annotations** - Add, edit, drag, style with colors, bold/italic
- **πŸ–ΌοΈ Image/Signature** - Insert images and signatures via drag-and-drop
- **πŸ”’ Privacy First** - 100% client-side; no files uploaded to servers

### Editing Tools
- **↩️ Undo/Redo** - Full history with Ctrl+Z / Ctrl+Y keyboard shortcuts
- **🎨 Drawing** - Freehand pen, highlighter, shapes (rectangle, circle, arrow, line)
- **πŸ” Search** - Find text with Ctrl+F, highlighted matches, navigation
- **πŸ“‘ Page Management** - Rotate, delete, extract, insert blank pages

### Professional Features
- **βœ’οΈ Signature Pad** - Draw or type signatures, save for reuse
- **β–ˆ Redaction** - Preview and permanently black out sensitive content
- **πŸ’§ Watermark** - Text/image with configurable opacity, position, rotation
- **πŸ“‹ Header/Footer** - Page numbers, dates, custom text with positioning
- **πŸ” Password Protection** - Encrypt PDF output with permissions

### User Experience
- **πŸŒ“ Dark/Light Theme** - Toggle between themes
- **πŸ“± Responsive Design** - Works on desktop and tablet
- **⚑ PWA Support** - Install as desktop/mobile app

## 🎬 Demo

πŸ‘‰ **[Launch Live Demo](https://pdf-editor-ten-alpha.vercel.app/)**

**Quick Start:**

1. Upload a PDF.
2. Click fields to fill or double-click to add text.
3. Click "Apply Fields" then "Save" to download.

## πŸš€ Getting Started

```bash
# 1. Clone & Install
git clone https://github.com/devlinduldulao/pdf-editor.git
cd pdf-editor && npm install

# 2. Start Dev Server
npm run dev

# 3. Build / Test
npm run build
npm run test
```

## πŸ—ΊοΈ Roadmap

### βœ… Completed
- [x] Undo/Redo System
- [x] Page Management (rotate, delete, extract, insert)
- [x] Drawing & Markup Tools (freehand, highlighter, shapes)
- [x] Text Color & Styling
- [x] Search & Find (Ctrl+F)
- [x] Thumbnail Navigation
- [x] Signature Management
- [x] Redaction Tools
- [x] Password Protection
- [x] Watermark
- [x] Header/Footer

### πŸ”œ Planned (Future Releases)
- [ ] Document Comparison (side-by-side diff)
- [ ] OCR Text Recognition
- [ ] PDF Compression
- [ ] Bookmark Editor
- [ ] Export to Images (PNG/JPG)
- [ ] Sticky Notes & Comments

See [FEATURE_ROADMAP.md](docs/FEATURE_ROADMAP.md) for full details.

## 🀝 Contributing

PRs welcome! Please fork, create a feature branch, and submit a PR.

## πŸ“„ License

MIT License. See [LICENSE](LICENSE) for details.

---

**Built with ❀️ using React, TypeScript, and Vite**