DOM windowing
Virtual grid for 1000 PDF pages
Only the visible viewport cards are rendered. Drag pages to reorder, rotate cards, and scroll quickly without flooding the DOM.
Virtual PDF page grid
1,000 pages · 4 columns · rendering 24 cards
Original page 1
Original page 2
Original page 3
Original page 4
Original page 5
Original page 6
Original page 7
Original page 8
Original page 9
Original page 10
Original page 11
Original page 12
Original page 13
Original page 14
Original page 15
Original page 16
Original page 17
Original page 18
Original page 19
Original page 20
Original page 21
Original page 22
Original page 23
Original page 24
Memory release checklist
- Only viewport cards plus overscan are mounted; the 1000-page array remains lightweight metadata.
- When using real PDF thumbnails, store preview URLs and call
URL.revokeObjectURL(url)when closing the file. - Clear React state with
setPages([]), terminate any pdf.js render tasks, and null large ArrayBuffer references. - For huge files, generate thumbnails lazily and keep a small LRU cache instead of holding 1000 full-resolution canvases.
User guide
How to use Virtual PDF Page Grid
Keep only visible page cards mounted while preserving page indices for sorting and rotation.
- 1
Load or generate the page list.
- 2
Scroll to confirm that only a buffered visible range is mounted.
- 3
Drag a visible card to reorder it; scroll when needed.
- 4
Commit the final order to the PDF-processing module.
Best for
- Documents with hundreds of pages
- Page sorting interfaces
Important limitation
HTML5 drag-and-drop has limited touch support; mobile devices may need pointer-based dragging for the best experience.
Frequently asked questions
Are off-screen pages deleted?
No. Their data stays in the array while their DOM cards are unmounted.
How is memory released?
Revoke preview URLs, clear page arrays and caches, cancel render tasks, and terminate Workers.
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.