A GUI tool for deskewing scanned PDF documents using PyQt6 and OpenCV
Project description
PDF Deskew Tool
English
Overview
PDF Deskew Tool is a powerful GUI and CLI application designed to automatically detect and correct skewed pages in scanned PDF documents. By leveraging PyMuPDF and OpenCV, it provides high-quality image processing to ensure your documents are perfectly aligned and highly readable.
Key Features
- Smart Deskewing: Automatically detects and corrects rotation angles.
- Batch Processing: Handle multiple PDF files simultaneously.
- Image Enhancement:
- Watermark Removal: Advanced inpainting to clean up documents.
- Quality Boost: Contrast enhancement, denoising, and sharpening.
- Grayscale Conversion: Reduce file size and improve clarity.
- User Friendly:
- Modern GUI: Built with PyQt6 and Material Design themes.
- Drag & Drop: Easy file selection.
- Bilingual: Full support for English and Chinese.
- Flexible CLI: Robust command-line interface for automation and power users.
Installation
Recommended: Using uv
uv tool install pdf-deskew
Using pip
pip install pdf-deskew
Usage
GUI Application
Simply run the command to open the interface:
pdf-deskew
Command Line Interface (CLI)
# Basic usage (output saved as input_deskewed.pdf)
pdf-deskew-cli input.pdf
# Custom output and DPI
pdf-deskew-cli input.pdf -o output.pdf -d 600
# Enable all enhancements
pdf-deskew-cli input.pdf --enhance --remove-watermark
简体中文
概述
PDF 倾斜校正工具 (PDF Deskew Tool) 是一款功能强大的图形界面 (GUI) 和命令行 (CLI) 应用程序,专门用于自动检测并纠正扫描 PDF 文档中的页面倾斜。通过结合 PyMuPDF 和 OpenCV 的强大功能,它能提供高质量的图像处理,确保您的文档排列整齐、清晰易读。
核心功能
- 智能纠偏:自动检测并修正页面旋转角度。
- 批量处理:支持同时处理多个 PDF 文件,提高效率。
- 图像增强:
- 去除水印:使用先进的修复算法清理文档背景。
- 画质提升:对比度增强、降噪及锐化处理。
- 灰度转换:减小文件体积并提升文字清晰度。
- 用户友好:
- 现代界面:基于 PyQt6 和 Material Design 主题构建。
- 拖放支持:支持直接拖入文件进行处理。
- 双语支持:完整的中英文界面切换。
- 灵活的命令行:为高级用户和自动化脚本提供强大的 CLI 支持。
安装方法
推荐方式:使用 uv
uv tool install pdf-deskew
使用 pip
pip install pdf-deskew
使用说明
图形界面 (GUI)
直接运行以下命令启动程序:
pdf-deskew
命令行界面 (CLI)
# 基本用法(输出默认为 input_deskewed.pdf)
pdf-deskew-cli input.pdf
# 指定输出路径和 DPI
pdf-deskew-cli input.pdf -o output.pdf -d 600
# 开启所有增强功能
pdf-deskew-cli input.pdf --enhance --remove-watermark
System Requirements / 系统要求
- OS: Windows, macOS, or Linux
- Python: 3.12 or higher
- Dependencies: PyQt6, PyMuPDF, OpenCV, Pillow, numpy, deskew, qt-material, tqdm
Development / 开发
git clone https://github.com/tinnci/pdf_deskew.git
cd pdf_deskew
uv venv
# Windows: .venv\Scripts\activate | Linux/macOS: source .venv/bin/activate
uv pip install -e .
pytest
License / 许可证
This project is licensed under the MIT License.
Support / 支持
- Issues: GitHub Issues
- Email: luoyido@outlook.com
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file pdf_deskew-0.1.8.tar.gz.
File metadata
- Download URL: pdf_deskew-0.1.8.tar.gz
- Upload date:
- Size: 63.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.9.18 {"installer":{"name":"uv","version":"0.9.18","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1b62ac50c1760031ecb4d7aa6dfa186fa2a19ecdea7cc9337cbc35ac39d7f7f4
|
|
| MD5 |
f5ea9884e96b0db17e24c10a834f0b71
|
|
| BLAKE2b-256 |
580f1b5ab81aaf5ac5d8440473533e422890f21cc99ba6a43e351daa7343fc72
|
File details
Details for the file pdf_deskew-0.1.8-py3-none-any.whl.
File metadata
- Download URL: pdf_deskew-0.1.8-py3-none-any.whl
- Upload date:
- Size: 23.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.9.18 {"installer":{"name":"uv","version":"0.9.18","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
304968ac2daee92fb34e5499bf828118f7f64e9d1f29cc7ab42df8ea89350207
|
|
| MD5 |
021488c4626e4b3b19b68429cc9253b9
|
|
| BLAKE2b-256 |
0385b907270a29d0bcf28d0c172663447ff525ec83dd219e8f3652f04a7adbd5
|