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

pro909

pdf

Public
Like
pdf
Home
Code
4
backend
2
frontend
3
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
/
Code
/
Search
index.ts
https://pro909--12546220375711f089fc9e149126039e.web.val.run
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
HTTP
  • index.ts
    pro909--12…9e.web.val.run
Code
backendfrontendsharedREADME.md
FeaturesVersion controlCode intelligenceCLI
Use cases
TeamsAI agentsSlackGTM
DocsShowcaseTemplatesNewestTrendingAPI examplesNPM packages
PricingNewsletterBlogAboutCareers
We’re hiring!
Brandhi@val.townStatus
X (Twitter)
Discord community
GitHub discussions
YouTube channel
Bluesky
Terms of usePrivacy policyAbuse contact
Β© 2025 Val Town, Inc.