pdf
Val Town is a collaborative website to build and scale JavaScript apps.
Deploy APIs, crons, & store data – all from the browser, and deployed in milliseconds.
Viewing readonly version of main branch: v1View latest version
A comprehensive web application for PDF manipulation and conversion operations.
- Merge PDFs: Combine multiple PDF files into one
- Split PDF: Extract specific pages or split into separate files
- PDF to Images: Convert PDF pages to PNG/JPG images
- Images to PDF: Convert images to PDF format
- Compress PDF: Reduce PDF file size
- Add Watermark: Add text or image watermarks
- Extract Text: Extract text content from PDFs
- Rotate Pages: Rotate PDF pages
- Add Password: Protect PDFs with passwords
- Remove Password: Remove password protection
- Frontend: React with TypeScript, TailwindCSS
- Backend: Hono API framework
- PDF Processing: PDF-lib library
- File Handling: Browser File API
├── backend/
│ ├── index.ts # Main API server
│ └── routes/
│ ├── merge.ts # PDF merging
│ ├── split.ts # PDF splitting
│ ├── convert.ts # Format conversion
│ ├── compress.ts # PDF compression
│ └── utils.ts # Shared utilities
├── frontend/
│ ├── index.html # Main HTML template
│ ├── index.tsx # React app entry point
│ ├── components/
│ │ ├── App.tsx # Main app component
│ │ ├── FileUpload.tsx # File upload component
│ │ ├── ToolSelector.tsx # Tool selection
│ │ └── ProcessingArea.tsx # Processing interface
│ └── style.css # Custom styles
└── shared/
└── types.ts # Shared TypeScript types
- Select a PDF operation from the tool menu
- Upload your PDF file(s) or images
- Configure operation settings
- Process and download the result
POST /api/merge- Merge multiple PDFsPOST /api/split- Split PDF into pagesPOST /api/convert- Convert between formatsPOST /api/compress- Compress PDF filePOST /api/watermark- Add watermark to PDFPOST /api/extract-text- Extract text from PDFPOST /api/rotate- Rotate PDF pagesPOST /api/protect- Add password protectionPOST /api/unlock- Remove password protection