How it works
- Selected images are read locally with the file API.
- Each image is normalized to JPEG (long edge capped at 2600 px, white background) on a canvas.
- A minimal PDF is assembled in the page — one image per page, scaled into your chosen page size and margin.
- The result downloads as a normal PDF file; nothing is transmitted.