スキャンPDFの処理を自動化するClaude Codeプラグインを作った

書籍をスキャナーで読み取ってPDF化した後の処理を簡単にするため、pdf-processorというClaude Codeプラグインを開発しました。複数PDFのマージ、OCR処理、目次の追加を自動化し、スキャン書籍を実用的なデジタル書籍に変換できます。

By Toshiyuki Yoshida

はじめに

書籍をスキャナーで読み取ってPDF化すると、複数のファイルに分かれてしまったり、テキスト検索ができなかったりします。また、目次がないため、そのままでは使いにくい状態になります。これらを手作業で処理するのは非常に面倒です。

そこで、スキャンしたPDFの処理を自動化するClaude Codeプラグイン「pdf-processor」を開発しました。このプラグインを使えば、複数のPDFファイルのマージ、OCR処理、目次の追加を簡単に実行できます。

プラグインのソースコードはGitHubで公開しています。

pdf-processorプラグインの機能

このプラグインは、スキャンされたPDFファイルを実用的なデジタル書籍に変換するためのツールです。主な機能は以下の通りです。

  • 複数PDFファイルのマージ: バラバラのPDFファイルを1つに統合
  • OCR処理: 日本語に対応したOCR処理により、画像PDFをテキスト検索可能に変換
  • ファイルサイズ最適化: 画像の圧縮により、ファイルサイズを削減
  • 目次(ブックマーク)の追加: PDFビューアで使える目次を自動生成
  • メタデータ編集: PDFのタイトル、著者などのメタデータを設定

使い方

pdf-processorプラグインは、3つのステップで処理を行います。

ステップ1: 前処理の実行

まず、/pdf-processor:preprocess コマンドを実行して、複数のPDFファイルをマージし、OCR処理を行います。

/pdf-processor:preprocess

Claudeが以下の処理を自動で実行します。

  • 対象となるPDFファイルの確認
  • PDFのマージ
  • OCR処理の実行
  • 画像の最適化
  • 目次テンプレートファイルの生成

処理が完了すると、OCR処理済みのPDFファイルと、メタデータをダンプしたファイルが生成されます。

ステップ2: 目次情報の編集

ダンプされたメタデータファイルをエディタで開き、目次情報を追加します。目次は以下の形式で記述します。

各目次項目は BookmarkBegin で始まり、以下の3つのフィールドで構成されます。

  • BookmarkTitle: 目次のタイトル(章名など)
  • BookmarkLevel: 目次の階層レベル(1が最上位、2が第2階層)
  • BookmarkPageNumber: 目次項目が指すページ番号

例として、以下のように追加します。

BookmarkBegin
BookmarkTitle: 第1章 はじめに
BookmarkLevel: 1
BookmarkPageNumber: 1

BookmarkBegin
BookmarkTitle: 1.1 背景
BookmarkLevel: 2
BookmarkPageNumber: 2

BookmarkBegin
BookmarkTitle: 1.2 目的
BookmarkLevel: 2
BookmarkPageNumber: 5

BookmarkBegin
BookmarkTitle: 第2章 実装
BookmarkLevel: 1
BookmarkPageNumber: 10

ステップ3: 目次の適用

目次情報を編集したら、/pdf-processor:apply-toc コマンドを実行して、最終的なPDFファイルを生成します。

/pdf-processor:apply-toc

このコマンドを実行すると、OCR処理済みのPDFに目次が追加され、完成版のPDFファイルが作成されます。

技術的な詳細

pdf-processorプラグインは、以下のツールを組み合わせて実装しています。

  • OCRmyPDF: PythonベースのOCRツールで、Tesseract OCRエンジンを使用してPDFにテキストレイヤーを追加
  • PDFtk: PDFの操作に特化したコマンドラインツールで、マージやメタデータの編集に使用
  • Ghostscript: PDFの最適化と圧縮に使用

これらのツールのインストールや設定は、プラグインのREADMEに詳しく記載されています。

まとめ

pdf-processorプラグインを使うことで、スキャンしたPDFの処理を大幅に効率化できます。複数ファイルのマージ、OCR処理、目次の追加といった面倒な作業を、Claude Codeとの対話だけで完了できるようになりました。

スキャンした書籍や資料をデジタル化する際に、ぜひ活用してみてください。プラグインのソースコードはGitHubで公開しているので、カスタマイズや改善の提案も歓迎します。