2025-11-26 18:02:58 +01:00
2025-11-27 12:33:16 +01:00
2025-11-26 18:40:03 +01:00
2025-11-26 18:02:58 +01:00
2025-11-26 18:02:58 +01:00
2025-11-26 18:40:03 +01:00

# PDF Workbench

Browser-only PDF tools for quick page-level editing. Processing happens completely locally in the browser; files are never uploaded to a server.

## Current features

- load a PDF in the browser
- generate page thumbnails progressively
- reorder pages via drag and drop
- select pages, including Shift range selection
- rotate pages clockwise/counter-clockwise
- delete pages from the working document
- preview pages in an overlay
- flip through preview pages with buttons or arrow keys
- merge a second PDF by replacing, appending, or inserting at a chosen position
- extract selected pages into a new PDF
- export the current reordered/rotated document
- split into single-page PDFs

## Keyboard shortcuts

- `CtrlA` / `⌘A`: select all pages
- `Delete` / `Backspace`: delete selected pages
- `Esc`: clear the current selection
- Preview overlay: `←` / `→` flip pages, `Esc` closes the overlay

Keyboard shortcuts are ignored while typing in form fields.

## Current implementation focus

The project is currently optimized around page-level PDF work: split, merge, reorder, rotate, preview, select, delete, extract, and export. Deep content-stream editing is intentionally out of scope for now.

## Roadmap

### Milestone 1: Fast preview and thumbnails

- [x] Remove unused `PageList` component
- [x] Bound thumbnail generation by width and height
- [x] Display thumbnails progressively
- [x] Add preview page flipping
- [x] Attach preview controls to the modal container
- [x] Add first keyboard shortcuts
- [x] Cache thumbnails by page and rotation
- [x] Regenerate only changed rotated thumbnails
- [x] Show software version number

### Milestone 2: Real page workspace

- [x] Introduce stable page references instead of only original page indices
- [x] Support duplicate selected pages
- [x] Save / reload the last state from storage
- [x] Support workspaces
- [x] Reset workspace
- [ ] Extract selection as a new active workspace
- [x] Add command history as a foundation for undo/redo
- [x] Add undo/redo
- [ ] maybe smaller undo / redo footprint
- [ ] Add grid/list view toggle

### Milestone 3: Better merge and mobile handling

- [ ] Add a full multi-file merge queue
- [ ] Support drag-and-drop of PDFs into the page grid at the hovered position
- [ ] Add custom long-press drag on mobile
- [ ] Consolidate actions into a toolbar

### Milestone 4: Structural PDF editing

- [ ] Metadata editing
- [ ] Crop pages
- [ ] Add tools directly in the preview overlay
- [ ] Read/fill/flatten forms
- [ ] Read bookmarks, then evaluate bookmark editing
- [ ] Read annotations, then evaluate annotation writing

### Milestone 5: Export and power tools

- [ ] Basic text extraction
- [ ] ZIP export for split results
- [ ] Optimize/compress MVP
- [ ] Carefully scoped encrypted PDF handling
Description
No description provided
Readme AGPL-3.0 871 KiB
Languages
TypeScript 94.6%
CSS 4.3%
JavaScript 0.7%
HTML 0.4%