Book Image Processor
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
bin
lib
LICENSE
README.md

README.md

bkimgproc - Book Image Processor

What's this?

bkimgprocは、書籍のような紙のまとまりの画像に対して、リサイズなどの処理を加え、 PDFやzipなどの形式にまとめるツールです。

以下のような機能を備えています。

  • 横向きスキャンデータの回転
  • 余白の自動カット
  • 白レベル自動判定による白レベル調整
  • テキストのボールド化

標準プラグインでは、以下の処理を行います。

[PC向け]

  • PDF出力
  • 白黒レベル調整

[kobo向け]

  • cbz (zip) 出力
  • リサイズ
  • 余白自動カット
  • 白黒レベル調整
  • 本文ボールド化

必要環境

  • bash (+sed, awkなどshell scriptで使うようなツール群)
  • ImageMagick
  • sam2p (PDF出力で利用)
  • pdftk (PDF出力で利用)
  • zip

DebianやUbuntuであれば、以下で使えるようになると思います。

# apt-get install imagemagick sam2p pdftk zip

初期設定

初期設定として、以下を実行します(ディレクトリが作成されます)。

$ bin/setup.sh

使い方

  1. プロジェクトディレクトリの作成

data/incomingに、適当なディレクトリをひとつ作成します。 (名称は、出力結果には関係ないので、利用される方が識別できる名前であれば、 なんでもかまいません。

data/
  incoming/
    mybook/
  1. ソースファイルの配置

作成したディレクトリの中に、ソースファイル(.pdf or .jpg)を配置します。

このとき、ファイル名は [数字orハイフンorアンダースコア] + [オプション文字] + "." + [拡張子] とします。

オプション文字は、「回転文字」と「種別文字」があり、それぞれ以下が指定可能です。

[回転文字]

  • r: 右開き (綴じられていないほうを前にしてスキャンすることを想定)
  • l: 左開き

[種別文字]

  • (無指定): カラー
  • m: モノクロ
  • t: テキスト(白黒)

※初期版では、mとtに違いはありません。

<例>

data/
   incoming/
      mybook/
        001.jpg    -- 表紙
        002.jpg    -- カバー
        003t.pdf   -- テキストページ群
        004rm.pdf  -- モノクロ(絵)ページ群、ただし横向きソース

なお、白レベル判定は、ここで配置したファイルの範囲で行われるため、ある程度の枚数を まとめてPDFにされることをおすすめします。

  1. 名前PDFファイルの配置

出力ファイル名を指定するためのファイルを配置します。

data/
  incoming/
    mybook/
      001.jpg
      002.jpg
      003t.pdf
      004rm.pdf
      漫画でわかるbashプログラミング.pdf

このように名前PDFを配置すると、data/books/に、以下のようなファイルが生成されます。

pc/漫画でわかるbashプログラミング_pc.pdf
kobo/漫画でわかるbashプログラミング_kobo.cbz

中身は利用されないため、空でも構いません。

  1. r2l.txtファイルの配置(任意)

r2l.txtを配置すると、PDFファイルに右開きの情報を埋め込みます。

  1. 実行

必要に応じて、複数のプロジェクトディレクトリを作成後、bin/convall.shを実行します。

$ bin/convall.sh
  1. 取り出し

以下のフォルダに出力されるため、結果を取り出します。

data/
   books/
     (プラグイン名)/
     pc/
     kobo/

なお、元ソースは、data/doneに移動されます(失敗の場合はdata/failed)。

注意

  • 「名前PDF」以外には、パスにスペースを含めないでください。

dataディレクトリの構造

dataディレクトリの構造は、以下の通りです。

data/
  incoming/    プロジェクトディレクトリ配置場所
  working/     処理中プロジェクト移動先
  failed/      失敗プロジェクト移動先
  done/        成功プロジェクト移動先
  books/       処理結果配置先

カスタマイズ方法

実際に画像を出力する部分や、アーカイブする部分は「プラグイン」という形で分離しています。 そのため、決まった場所を書き換えたり、プラグインを増やしたりすることで、出力結果を カスタマイズすることが可能です。

プラグインの構造は、以下の通りです。

lib/
    plugins/
      (プラグイン名)/
        archive.sh     -- ファイルをまとめるスクリプト
        options/       -- 種別ごとの画像変換スクリプト
          _.sh           -- カラー用
          t.sh           -- テキスト用
          m.sh           -- モノクロ用