DoubleSide is a modern, web-based tool for preparing PDFs for printing. It offers features like double-sided printing preparation, booklet creation, and N-up layouts, all with a beautiful glassmorphism UI.
- Double-Sided Printing: Splits pages into "Front" and "Back" sets for easy manual double-sided printing on single-sided printers.
- 2-in-1 (N-up): Places two pages side-by-side on a single landscape sheet (A4).
- Booklet Mode: Arranges pages so they can be folded into a booklet.
- Split: Extracts a range of pages.
- Decrypt: Removes passwords from PDFs (if the password is empty or standard).
- Secure: Files are processed locally/temporarily and automatically deleted after 1 hour.
- Frontend: React (Vite), Tailwind CSS v4
- Backend: Python (FastAPI), PyMuPDF (fitz)
- Deployment: Docker, Docker Compose
- Docker and Docker Compose installed.
-
Clone the repository.
-
Run the following command in the project root:
docker-compose up --build -d
-
Open your browser and navigate to
http://localhost.
- Navigate to
backend:cd backend - Create a virtual environment:
python -m venv venv .\venv\Scripts\activate # Windows # source venv/bin/activate # Linux/Mac
- Install dependencies:
pip install -r requirements.txt
- Run the server:
The API will be available at
uvicorn main:app --reload
http://localhost:8000.
- Navigate to
frontend:cd frontend - Install dependencies:
npm install
- Run the development server:
The UI will be available at
npm run dev
http://localhost:5173(or similar).
Once the backend is running, you can access the interactive API documentation at:
http://localhost:8000/docs
This project is licensed under the MIT License - see the LICENSE file for details.