• Blog
  • Docs
  • Pricing
  • We’re hiring!
Log inSign up
pro909

pro909

pdf

Public
Like
pdf
Home
Code
3
frontend
2
shared
1
README.md
Branches
1
Pull requests
Remixes
History
Environment variables
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.
Sign up now
Code
/
README.md
Code
/
README.md
Search
5/22/2025
Viewing readonly version of main branch: v4
View latest version
README.md

All-in-One PDF Tool

A comprehensive web application for PDF manipulation and conversion operations.

Features

  • 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

Tech Stack

  • Frontend: React with TypeScript, TailwindCSS
  • Backend: Hono API framework
  • PDF Processing: PDF-lib library
  • File Handling: Browser File API

Project Structure

├── 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

Usage

  1. Select a PDF operation from the tool menu
  2. Upload your PDF file(s) or images
  3. Configure operation settings
  4. Process and download the result

API Endpoints

  • POST /api/merge - Merge multiple PDFs
  • POST /api/split - Split PDF into pages
  • POST /api/convert - Convert between formats
  • POST /api/compress - Compress PDF file
  • POST /api/watermark - Add watermark to PDF
  • POST /api/extract-text - Extract text from PDF
  • POST /api/rotate - Rotate PDF pages
  • POST /api/protect - Add password protection
  • POST /api/unlock - Remove password protection
FeaturesVersion controlCode intelligenceCLIMCP
Use cases
TeamsAI agentsSlackGTM
DocsShowcaseTemplatesNewestTrendingAPI examplesNPM packages
PricingNewsletterBlogAboutCareers
We’re hiring!
Brandhi@val.townStatus
X (Twitter)
Discord community
GitHub discussions
YouTube channel
Bluesky
Open Source Pledge
Terms of usePrivacy policyAbuse contact
© 2025 Val Town, Inc.