A powerful, full-featured web-based document and PDF editor inspired by Adobe Acrobat Pro & Microsoft Word.
Features · Quick Start · Keyboard Shortcuts · Tech Stack · Contributing
- 200+ Professional Fonts — Google Fonts integration with Serif, Sans-Serif, Monospace, Display & Handwriting categories
- Full Typography Controls — Font family, size (8–72pt), bold, italic, underline, strikethrough, superscript, subscript
- Text & Highlight Colors — Full color picker for text and background highlight
- Paragraph Formatting — Left, center, right, justify alignment
- Advanced Spacing — Line height (1.0–3.0), letter spacing, word spacing
- Quick Styles — Normal, No Spacing, Heading 1–3, Title, Subtitle, Quote presets
- Text Boxes — Rich-text editable, resizable, draggable
- Images — Upload, crop (top/right/bottom/left), color correction (brightness, contrast, saturation, hue, blur)
- Shapes — Rectangle, Circle, Triangle, Line, Arrow, Star with customizable fill & stroke
- Tables — Interactive grid selector (up to 8×8), editable cells, headers, borders
- Watermarks — Text watermarks with custom font, size, color, opacity, rotation
- Signatures — Draw pad, type, or upload signature
- Comments — Sticky-note style annotations
- Links — Clickable hyperlinks
- Margin Presets — Normal, Narrow, Moderate, Wide, Mirrored + Custom px values
- Page Sizes — Letter, A4, A3, Legal, A5, B5, Executive, Tabloid
- Orientation — Portrait & Landscape
- Page Numbers — 5 formats (1, i, I, a, A), 6 positions, custom start number
- Headers & Footers — Custom content and formatting
- Multi-column Layout — 1, 2, or 3 columns
- Print Layout — Standard page view
- Read Mode — Distraction-free reading
- Web Layout — Full-width continuous flow
- Outline — Document structure view
- Focus Mode — Hides all UI except the document
- Immersive Reader — Dark background reading experience
- Zoom — 25% to 300% (Ctrl+Scroll)
- Ruler & Gridlines — Toggle alignment aids
- Navigation Pane — Page thumbnails sidebar
- Page Movement — Vertical scroll or Side-by-Side
- Tesseract.js powered text extraction from images
- Progress tracking with visual progress bar
- Converts recognized text into editable text boxes
| Format | Library | Description |
|---|---|---|
| pdf-lib | Full document reconstruction with text, images, shapes, watermarks | |
| PNG | html2canvas | High-resolution page-by-page image export |
| DOCX | docx | Microsoft Word–compatible document with headings, tables, images |
- Undo/Redo — 50-step history (Ctrl+Z / Ctrl+Y)
- Find & Replace — Search and replace text across the document
- Context Menu — Right-click for quick actions
- Keyboard Shortcuts — Full shortcut support
- Element Z-ordering — Bring to Front / Send to Back
- Element Locking — Prevent accidental edits
- Snap-to-Grid — Precise element positioning
- Arrow Key Nudge — Fine-tune positions (1px or 10px with Shift)
- Multi-select — Ctrl+Click for multiple elements
- Clipboard — Cut, Copy, Paste, Duplicate (Ctrl+D)
- Auto-save — Document state preservation
Simply open index.html in any modern browser (Chrome, Edge, Firefox, Safari).
# Using Node.js
npx serve .
# Using Python
python -m http.server 8000
# Using PHP
php -S localhost:8000Then navigate to http://localhost:8000
Install the "Live Server" extension and click "Go Live" in the status bar.
| Shortcut | Action |
|---|---|
Ctrl + Z |
Undo |
Ctrl + Y |
Redo |
Ctrl + C |
Copy |
Ctrl + V |
Paste |
Ctrl + D |
Duplicate |
Ctrl + A |
Select All |
Delete / Backspace |
Delete selected |
Arrow Keys |
Nudge 1px |
Shift + Arrow |
Nudge 10px |
Ctrl + Scroll |
Zoom In/Out |
Escape |
Close dialogs / Exit focus |
| Component | Technology |
|---|---|
| Frontend | Vanilla HTML5, CSS3, JavaScript (ES6+) |
| PDF Rendering | PDF.js (Mozilla) |
| PDF Creation | pdf-lib |
| OCR Engine | Tesseract.js |
| DOCX Export | docx |
| Screenshot | html2canvas |
| Fonts | Google Fonts (200+ families) |
| Build Step | None — Zero dependencies, CDN-powered |
proeditor/
├── index.html # Main application shell with ribbon UI
├── styles.css # Complete dark-theme styling
├── README.md # This file
└── js/
├── app.js # Main controller & initialization
├── fonts.js # 200+ font definitions & loader
├── document.js # Document model, pages, history
├── elements.js # Element factories (text, image, table, etc.)
├── canvas.js # Page rendering & interaction engine
├── toolbar.js # Ribbon toolbar controller
├── views.js # View modes (Read, Print, Focus, etc.)
├── pdf-handler.js # PDF import via PDF.js
├── ocr.js # OCR via Tesseract.js
├── export.js # PDF, PNG, DOCX export
└── page-settings.js # Margins, page size, orientation
Contributions are welcome! Here's how:
- Fork the repository
- Create a feature branch:
git checkout -b feature/amazing-feature - Commit changes:
git commit -m 'Add amazing feature' - Push to branch:
git push origin feature/amazing-feature - Open a Pull Request
This project is licensed under the MIT License — see the LICENSE file for details.
Built with ❤️ for the open-source community
ProEditor — Because editing documents should be free, powerful, and beautiful.