superbook-pdf
Fork of dnobori/DN_SuperBook_PDF_Converter
Rust で完全リライトしたスキャン書籍 PDF 高品質化ツール
オリジナル著者: 登 大遊 (Daiyuu Nobori) Rust リライト: clearclown ライセンス: AGPL v3.0
Before / After

| Before (左) | After (右) | |
|---|---|---|
| 解像度 | 1242×2048 px | 2363×3508 px |
| ファイルサイズ | 981 KB | 1.6 MB |
| 品質 | ぼやけ、低コントラスト | 鮮明、高コントラスト |
RealESRGAN による AI 超解像で、文字のエッジが鮮明になり、読みやすさが大幅に向上
特徴
- Rust 実装 - C# 版を完全リライト。メモリ効率大幅改善
- AI 超解像 - RealESRGAN で画像を高解像度化
- 日本語 OCR - YomiToku による文字認識
- 傾き補正 - 大津二値化 + Hough 変換で自動補正
- Web UI - ブラウザから操作可能
必要なもの
必須
| 項目 | 要件 |
|---|---|
| OS | Linux (Ubuntu 20.04+, Debian 11+) |
| Rust | 1.75 以上 |
| Poppler | pdftoppm コマンド |
AI機能を使う場合 (オプション)
| 項目 | 要件 |
|---|---|
| Python | 3.10 以上 |
| GPU | NVIDIA GPU (CUDA 11.8+, VRAM 4GB以上推奨) |
インストール
1. システム依存パッケージ
# Ubuntu/Debian
# Fedora
2. Rust ツールのインストール
crates.io からインストール (推奨):
ソースからビルド:
バイナリは target/release/superbook-pdf に生成されます。
3. AI機能のセットアップ (オプション)
AI超解像 (RealESRGAN) と OCR (YomiToku) を使用する場合:
# Python 仮想環境を作成
# GPU版 PyTorch をインストール (NVIDIA GPU使用時)
# AI依存パッケージをインストール
実行時に環境変数を設定:
4. Docker/Podman で実行 (オプション)
GPU対応コンテナで簡単にセットアップできます:
# Docker
# Podman (4.7+)
# ブラウザで http://localhost:8080 を開く
単体コンテナで実行:
# ビルド
# 実行 (GPU使用)
使い方
基本的な変換
# シンプルな変換 (傾き補正 + AI超解像)
# 高品質変換 (全オプション有効 + OCR)
# GPU無効化 (CPUのみで処理)
オプション一覧
superbook-pdf convert [OPTIONS] <INPUT>
引数:
<INPUT> 入力PDFファイル
オプション:
-o, --output <DIR> 出力ディレクトリ [デフォルト: ./output]
--advanced 高品質処理を有効化
--ocr OCR を有効化 (YomiToku)
--no-gpu GPU を無効化
--no-upscale AI超解像を無効化
--no-deskew 傾き補正を無効化
--max-pages <N> 処理ページ数を制限 (テスト用)
-v, --verbose 詳細出力 (-vvv で最大)
-h, --help ヘルプ表示
Web UI
# ブラウザで http://localhost:8080 を開く
処理パイプライン
- PDF画像抽出 - pdftoppm で 300 DPI 抽出
- マージントリム - 0.5% の余白を除去
- AI超解像 - RealESRGAN で 2x アップスケール
- 傾き補正 - 大津二値化 + Hough変換
- カラー補正 - 紙色の白化 (--advanced)
- PDF生成 - メタデータ同期
- OCR - YomiToku (--ocr)
トラブルシューティング
| 問題 | 解決策 |
|---|---|
pdftoppm: command not found |
sudo apt install poppler-utils |
| RealESRGAN が動かない | SUPERBOOK_VENV 環境変数を設定 |
| GPU が使用されない | pip install torch --index-url https://download.pytorch.org/whl/cu121 |
| メモリ不足 | --max-pages 10 で分割処理 |
開発
# テスト実行
# フォーマット
&&
ライセンス
AGPL v3.0 - LICENSE
謝辞
- 登 大遊 (Daiyuu Nobori) - オリジナル実装
- RealESRGAN - AI超解像
- YomiToku - 日本語OCR