DN_SuperBook_PDF_Converter 導入ガイド

開発未分類メモ

DN_SuperBook_PDF_Converter 導入ガイド

スキャンした書籍PDFをAI処理で高画質化し、OCRで検索可能にするツール「DN_SuperBook_PDF_Converter」の導入手順をまとめました。

ツールの概要

登大遊氏が開発したツールで、以下の機能があります:

  • AI画像鮮明化: 紙の汚れ、裏写り、インクのにじみ、JPEGノイズを除去
  • 傾き補正: スキャン時の傾きを自動補正
  • ページ番号検出: PDFビューアのページ番号と書籍のページ番号を一致
  • AI-OCR: YomiTokuエンジンによる高精度な日本語OCR処理
  • 検索可能PDF生成: テキスト埋め込みPDF、Markdown、HTML、JSON形式を出力

必要環境

  • OS: Windows 10 / 11 x64
  • RAM: 数GB〜数十GBの空きメモリ
  • GPU: NVIDIA GeForce(CUDA対応)、VRAM 8GB以上推奨
    • CUDA 12.8対応ドライバが必要(バージョン560以上)
    • GTX 10シリーズ以降を推奨
  • Visual Studio: 2022以降(.NET 6.0対応)
  • .NET 6.0 SDK: ビルドに必須(ランタイムだけでは不可)
  • Python: 3.11系
  • uv: Pythonパッケージマネージャ(pip install uv または winget install astral-sh.uv
  • Git: インストール済み

導入手順

Step 1: リポジトリのクローン

# 作業ディレクトリで実行
git clone --recursive https://github.com/dnobori/DN_SuperBook_PDF_Converter.git
cd DN_SuperBook_PDF_Converter

Step 2: 外部ツールのダウンロード

以下の6つをダウンロードします:

ツールダウンロードURL
ExifToolhttps://filecenter.softether-upload.com/d/260118_003_73929/exiftool-13.30_64.zip
pdfcpuhttps://github.com/pdfcpu/pdfcpu/releases/download/v0.11.0/pdfcpu_0.11.0_Windows_x86_64.zip
qpdfhttps://github.com/qpdf/qpdf/releases/download/v11.9.1/qpdf-11.9.1-msvc64.zip
ImageMagickhttps://imagemagick.org/archive/binaries/ から portable-Q16-HDRI-x64版
Ghostscripthttps://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs10051/gs10051w64.exe
Tesseract学習データhttps://github.com/tesseract-ocr/tessdata_best/archive/4.1.0.zip

Step 3: 外部ツールの配置

配置先ベースパス:

DN_SuperBook_PDF_Converter\external_tools\external_tools\image_tools\

3-1. ExifTool

mkdir exiftool-13.30_64
# ZIPを解凍して exiftool.exe と exiftool_files\ を配置

3-2. pdfcpu

mkdir pdfcpu
# ZIPを解凍して pdfcpu.exe を配置

3-3. qpdf

mkdir qpdf
# ZIPを解凍して bin\ フォルダごと配置(qpdf\bin\qpdf.exe となるように)

3-4. ImageMagick + Ghostscript

mkdir ImageMagick-portable-Q16-HDRI-x64
# ImageMagickのZIPを解凍して中身を配置

# Ghostscriptをインストール後、以下の4ファイルをImageMagickフォルダにコピー
# C:\Program Files\gs\gs10.05.1\bin\ から:
# - gsdll64.dll
# - gsdll64.lib  
# - gswin64.exe
# - gswin64c.exe

3-5. Tesseract学習データ

Tesseractは補助的なOCRとして使われます(YomiTokuがメインのAI-OCR)。英語と日本語の学習データを配置します。

mkdir TesseractOCR_Data
# ZIPから eng.traineddata と jpn.traineddata の2ファイルを配置

備考: 縦書き対応が必要な場合は jpn_vert.traineddata も追加できますが、YomiTokuが縦書きに対応しているため通常は不要です。

Step 4: RealEsrgan環境構築(uv使用)

cd external_tools\external_tools\image_tools\RealEsrgan
mkdir RealEsrgan_Repo
cd RealEsrgan_Repo

# 仮想環境作成(venvという名前で作成することが重要)
uv venv --python 3.11 venv

# Real-ESRGANをクローン
git clone https://github.com/xinntao/Real-ESRGAN.git
cd Real-ESRGAN
git checkout a4abfb2979a7bbff3f69f58f58ae324608821e27
cd ..

# パッケージインストール
uv pip install --python venv torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu128
uv pip install --python venv -r Real-ESRGAN/requirements.txt
uv pip install --python venv opencv-python

重要な修正1: degradations.py

最新の torchvision では functional_tensor モジュールが削除されたため、手動でパッチを当てる必要があります。

注意: venvを再作成した場合、この修正も再度適用する必要があります。

ファイルパス:

venv\Lib\site-packages\basicsr\data\degradations.py

以下を修正:

# 旧
from torchvision.transforms.functional_tensor import rgb_to_grayscale
# 新
from torchvision.transforms.functional import rgb_to_grayscale

重要な修正2: version.py作成

New-Item -Path "Real-ESRGAN\realesrgan\version.py" -ItemType File

モデルのダウンロード

以下からダウンロードして Real-ESRGAN\weights\ に配置: https://github.com/xinntao/Real-ESRGAN/releases/download/v0.1.0/RealESRGAN_x4plus.pth

Step 5: YomiToku環境構築

cd external_tools\external_tools\image_tools\yomitoku

# 仮想環境作成(venvという名前で)
uv venv --python 3.11 venv

# パッケージインストール
uv pip install --python venv torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu128
uv pip install --python venv "yomitoku==0.10.3"

Step 6: NuGetパッケージの復元

cd DN_SuperBook_PDF_Converter

# nuget.orgをソースに追加(初回のみ)
dotnet nuget add source https://api.nuget.org/v3/index.json -n nuget.org

# パッケージ復元
dotnet restore

Step 7: .NET 6.0 SDK / ランタイムのインストール

ビルドには .NET 6.0 SDK が必要です(ランタイムだけでは dotnet restoredotnet build が実行できません)。

以下からダウンロードしてインストール: https://dotnet.microsoft.com/download/dotnet/6.0

  • SDK 6.0.x(Windows x64): ビルド用(必須)
  • ASP.NET Core Runtime 6.0.x(Windows x64): 実行用(SDKに含まれるため別途インストールは不要)

Step 8: ビルドと実行

  1. Visual Studioで DN_SuperBook_PDF_Converter_VS2022.sln を開く
  2. ビルド → ソリューションのビルド(Ctrl+Shift+B)
  3. デバッグ → デバッグなしで開始(Ctrl+F5)

SuperBookTools> プロンプトが表示されれば成功です。

使用方法

基本的な使い方

SuperBookTools> ConvertPdf
Source directory path: C:\path\to\source\folder
Destination directory path: C:\path\to\destination\folder
Perform Japanese High-Quality OCR? (Y/N): y

注意点:

  • ソース/宛先にはフォルダを指定(ファイルではない)
  • パスは引用符なしで入力
  • ソースと宛先は別のフォルダにする

OCRオプション

オプション説明
Y (Yes)AI-OCR処理を実行。検索可能PDF + Markdown/HTML/JSON出力
N (No)OCRスキップ。画像鮮明化のみ。処理時間短い

処理時間の目安

  • 1冊あたり 20〜40分 程度(目安)
  • GPUがフル稼働するため、夜間バッチ処理がおすすめ

備考: 処理時間はページ数、解像度、OCRの有無、GPU性能によって大きく変動します。上記は200〜300ページ程度の書籍をRTX 3060でOCRありで処理した場合の参考値です。

つまずきやすいポイントと対処法

1. 仮想環境のフォルダ名

問題: uvのデフォルトは .venv だが、プログラムは venv を探す

対処: 最初から venv という名前で作成する

uv venv --python 3.11 venv

2. NuGetパッケージが見つからない

問題: Microsoft Visual Studio Offline Packages からパッケージが見つからないエラー

対処: nuget.orgをソースに追加

dotnet nuget add source https://api.nuget.org/v3/index.json -n nuget.org
dotnet restore

3. basicsr モジュールが見つからない

問題: ModuleNotFoundError: No module named 'basicsr'

対処: 仮想環境を作り直す

Remove-Item -Recurse -Force venv
uv venv --python 3.11 venv
uv pip install --python venv torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu128
uv pip install --python venv -r Real-ESRGAN/requirements.txt
uv pip install --python venv opencv-python

4. cv2 モジュールが見つからない

問題: ModuleNotFoundError: No module named 'cv2'

対処: OpenCVを追加インストール

uv pip install --python venv opencv-python

5. torchvision.transforms.functional_tensor エラー

問題: from torchvision.transforms.functional_tensor import rgb_to_grayscale でエラー

対処: degradations.pyを修正(Step 4参照)

GPU使用状況の確認

タスクマネージャー

タスクマネージャー → パフォーマンス → GPU で確認できます。

nvidia-smi コマンド

nvidia-smi

確認ポイント(目安):

  • GPU使用率: 高負荷時は80〜100%程度(処理フェーズによって変動)
  • 温度: 80〜85℃以下なら問題なし(カードによって異なる)
  • メモリ: 大半が使用されていればOK

GPUの長時間稼働について

GPUは長時間稼働を想定して設計されています。6時間以上の連続稼働でも問題ありません。

  • AI学習: 数日〜数週間連続稼働
  • マイニング: 24時間365日稼働
  • 映像レンダリング: 数時間〜数日

重要なのは温度管理です。90℃を超えると心配ですが、通常は自動でクロックダウンし保護されます。

アンインストール方法

プロジェクト全体の削除

Remove-Item -Recurse -Force "C:\path\to\DN_SuperBook_PDF_Converter"

別途インストールしたもの

項目対処
Ghostscript「プログラムの追加と削除」からアンインストール
.NET 6.0 ランタイム残しておいてもOK
nuget.org ソース残しておいてもOK

参考リンク

ライセンス

  • DN_SuperBook_PDF_Converter: AGPL v3
  • YomiToku: 非商用での個人利用・研究目的は無料。商用利用はライセンス購入が必要