An open API service indexing awesome lists of open source software.

https://github.com/n1k1f0rm/docs-copy

Validate your PDF's with watermarks
https://github.com/n1k1f0rm/docs-copy

fastapi pdf python

Last synced: 2 months ago
JSON representation

Validate your PDF's with watermarks

Awesome Lists containing this project

README

          

# 📄 PDF Watermarking API 🖼️
Мощное и простое API для добавления водяных знаков в PDF-документы

[![FastAPI](https://img.shields.io/badge/FastAPI-0.109.2-009688?logo=fastapi)](https://fastapi.tiangolo.com/)
[![Python](https://img.shields.io/badge/Python-3.9%2B-3776AB?logo=python)](https://www.python.org/)

## 🌟 Особенности
- ✅ Добавление изображений-водяных знаков на любые PDF-документы
- 🖼️ Поддержка PNG/JPG/WebP изображений
- ⚡️ Асинхронная обработка файлов
- 🛡️ Автоматическая очистка временных файлов
- 📦 Готовый Docker-образ

## 🛠️ Технологический стек
| Компонент | Технологии |
|-------------------------|-------------------------------------|
| Backend Framework | FastAPI |
| PDF Processing | PyPDF2, ReportLab |
| Image Handling | Pillow (PIL) |
| Async File Upload | Python-multipart |
| Containerization | Docker |
| Documentation | Swagger UI, Redoc |

## 🚀 Быстрый старт

### Предварительные требования
- Python 3.9+
- PIP
- Docker (опционально)

#### Основные эндпоинты:
| Параметр | Тип | Обязательный | Описание |
|---------------|-------------|--------------|---------------------------|
| output_name | String | Да | Имя выходного PDF-файла |
| pdf_file | PDF File | Да | Исходный PDF-документ |
| image_file | Image File | Нет | Изображение водяного знака|

### Установка
```bash
# Клонировать репозиторий
git clone https://github.com/yourusername/pdf-watermark-api.git
cd pdf-watermark-api

# Создать виртуальное окружение в папке с проектом
python -m venv venv
source venv/bin/activate # Linux/Mac
# venv\Scripts\activate # Windows

# Установить зависимости
pip install -r requirements.txt

# Запуск вне Docker
# Development режим
uvicorn main:app --reload --host 0.0.0.0 --port 8000
# Production режим
gunicorn -w 4 -k uvicorn.workers.UvicornWorker main:app

# Запуск в Docker
# Собрать образ
docker build -t pdf-watermarker .
# Запустить контейнер
docker run -d -p 8000:8000 pdf-watermarker
```

## 🛣️ Roadmap
- [ ] Поддержка текстовых водяных знаков
- [ ] Настройка прозрачности изображения
- [ ] Интеграция с облачными хранилищами (S3, GCS)
- [ ] JWT-аутентификация

## 🤝 Участие в разработке
Приветствуются пул-реквесты! Основные шаги:
1. Форкните репозиторий
2. Создайте ветку для фичи (`git checkout -b feature/amazing-feature`)
3. Сделайте коммит изменений (`git commit -m 'Add amazing feature'`)
4. Запушьте в форк (`git push origin feature/amazing-feature`)
5. Откройте пул-реквест