Skip to content

feat(dev): add PDF page splitter tool#4

Closed
vinceclaw0307 wants to merge 1 commit intovincenthouyi:mainfrom
vinceclaw0307:pdf-splitter
Closed

feat(dev): add PDF page splitter tool#4
vinceclaw0307 wants to merge 1 commit intovincenthouyi:mainfrom
vinceclaw0307:pdf-splitter

Conversation

@vinceclaw0307
Copy link
Contributor

New tool at /tools/pdf-splitter: split PDF into individual pages with preview thumbnails, lazy rendering, checkbox selection, and individual/ZIP download.\n\n100% in-browser using pdf-lib (split), pdfjs-dist (thumbnails), JSZip (archive).\n\nQuality gates passed.

Adds a new 100% in-browser PDF Page Splitter tool under /tools/pdf-splitter.

- Uploads a single PDF via drag-and-drop or file picker
- Splits into individual per-page PDFs using pdf-lib
- Progressive thumbnail previews via pdfjs-dist + IntersectionObserver
  (first 5 pages eager-loaded, remainder lazy on scroll)
- Page cards with checkbox selection; individual-page download or ZIP via JSZip
- Error handling: non-PDF, empty file, >50 MB warning
- Registered in tool registry + wired into App.tsx; added to Dev page
- Unit tests for validatePdfFile, filterSelectedPages, getBaseName (16 tests)
- E2e smoke entry + dedicated pdf-splitter.spec.ts; fixed search.spec.ts
  count assertion to match pagination PAGE_SIZE=10

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@vinceclaw0307 vinceclaw0307 changed the title feat(dev): add PDF page splitter tool feat(dev): add PDF page splitter + category pagination (10/page) Mar 21, 2026
@vinceclaw0307 vinceclaw0307 force-pushed the pdf-splitter branch 2 times, most recently from 9ca7039 to ecfc9ad Compare March 21, 2026 07:33
@vinceclaw0307 vinceclaw0307 changed the title feat(dev): add PDF page splitter + category pagination (10/page) feat(dev): add PDF page splitter tool Mar 21, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants