feat(merge): Migrate merge operations to Web Workers and reorganize tool categories

- Create merge.worker.js and alternate-merge.worker.js for offloading PDF merge operations to background threads
- Migrate merge and alternate-merge logic to use Web Worker architecture for improved performance
- Move flatten tool from singlePdfLoadTools to multiFileTools configuration
- Update merge and alternate-merge tool subtitles to indicate bookmark preservation
- Refactor alternate-merge.ts to use Web Worker instead of pdf-lib for interleaving operations
- Refactor merge.ts to use Web Worker for standard merge operations
- Update fileHandler.ts to recognize flatten as a multi-file tool requiring process button handling
- Simplify form-creator.ts and flatten.ts implementations with Web Worker integration
- Update UI state management to support Web Worker-based PDF processing
- Improve performance by moving computationally intensive PDF operations off the main thread
This commit is contained in:
abdullahalam123
2025-11-28 20:49:49 +05:30
parent 6b7163991e
commit 8651ca366f
10 changed files with 693 additions and 200 deletions

View File

@@ -13,7 +13,7 @@ export const categories = [
id: 'merge',
name: 'Merge PDF',
icon: 'combine',
subtitle: 'Combine multiple PDFs into one file.',
subtitle: 'Combine multiple PDFs into one file. Preserves Bookmarks.',
},
{
id: 'split',
@@ -310,7 +310,7 @@ export const categories = [
id: 'alternate-merge',
name: 'Alternate & Mix Pages',
icon: 'shuffle',
subtitle: 'Combine PDFs by alternating pages from each.',
subtitle: 'Merge PDFs by alternating pages from each PDF. Preserves Bookmarks',
},
{
id: 'organize',