Web Worker Architecture
Background PDF processing without UI freezes
Transfer large PDF bytes to a native browser Worker, process them with pdf-lib off the main thread, and stream page-level progress back to React.
Worker pipeline status
Choose a PDF, then send its bytes to a background Web Worker.
`postMessage(buffer, [buffer])` moves ownership instead of duplicating 100MB+ data.
`pdf-lib` loads, copies pages and serializes inside the Worker thread.
The Worker posts page-level progress back to the main UI and returns bytes as Transferable.
Finished files download automatically; no server upload is involved.
User guide
How to use Web Worker PDF Processing
Demonstrate transferable ArrayBuffers, background PDF work, progress events, and explicit Worker cleanup.
- 1
Select the supported PDF operation and input files.
- 2
Start processing to transfer ownership of the buffers to a Worker.
- 3
Monitor page-level progress without blocking the interface.
- 4
Download the result after the Worker returns a transferable buffer.
Best for
- Testing large-file responsiveness
- Reusable background-processing architecture
Important limitation
Only implemented Worker operations are available; transferring a buffer detaches it from the main thread and it cannot be reused there.
Frequently asked questions
Why use transferable objects?
They move buffer ownership without duplicating the entire binary payload.
When is the Worker stopped?
It is terminated after completion, cancellation, error, or component cleanup.
PDFPerch processes files locally unless this guide explicitly identifies a cloud-dependent feature. Always keep an original copy and verify critical output before submission, printing, signing, or accounting use.