How teteudeveloper/snap2pdf works
Snap2PDF is a browser-based image-to-PDF app. Users add JPG, PNG, or WebP files, reorder or remove them, then generate and download one PDF locally. The main flow is visible in the sampled uploader, conversion button, validation, and PDF generator code; the README also confirms multi-image documents and local processing. WebP conversion and downloads use browser APIs. No server-side upload or persistent store is shown.
Main entry points: ImageUploader.tsx Image uploader · pdfGenerator.ts PDF builder · ConvertButton.tsx Convert button · page.tsx Home page
Components 10
User interface
- Home page
app/page.tsx - Image uploader
app/components/ImageUploader.tsx - Image preview
app/components/ImagePreview.tsx - Convert button
app/components/ConvertButton.tsx
Image workflow
- File validation
app/lib/validation.ts
PDF output
- PDF builder
app/lib/pdfGenerator.ts - PDF downloader
app/lib/pdfGenerator.ts - pdf-lib
- Browser APIs
Other components
- User
Connections 15
- User → Home page: opens
- Home page → Image uploader: renders
- User → Image uploader: adds images
- Image uploader → File validation: validates files
- Image uploader → Image preview: shows images
- User → Image preview: reorders or removes
- Image uploader → Convert button: passes image list
- User → Convert button: starts conversion
- Convert button → PDF builder: generates PDF
- PDF builder → pdf-lib: creates document
- PDF builder → Browser APIs: converts WebP
- PDF builder → PDF downloader: returns PDF blob
- Convert button → PDF downloader: downloads PDF
- PDF downloader → Browser APIs: triggers download
- Browser APIs → User: provides PDF