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
- プロジェクトディレクトリの作成
data/incomingに、適当なディレクトリをひとつ作成します。 (名称は、出力結果には関係ないので、利用される方が識別できる名前であれば、 なんでもかまいません。
data/
incoming/
mybook/
- ソースファイルの配置
作成したディレクトリの中に、ソースファイル(.pdf or .jpg)を配置します。
このとき、ファイル名は [数字orハイフンorアンダースコア] + [オプション文字] + "." + [拡張子] とします。
オプション文字は、「回転文字」と「種別文字」があり、それぞれ以下が指定可能です。
[回転文字]
- r: 右開き (綴じられていないほうを前にしてスキャンすることを想定)
- l: 左開き
[種別文字]
- (無指定): カラー
- m: モノクロ
- t: テキスト(白黒)
※初期版では、mとtに違いはありません。
<例>
data/
incoming/
mybook/
001.jpg -- 表紙
002.jpg -- カバー
003t.pdf -- テキストページ群
004rm.pdf -- モノクロ(絵)ページ群、ただし横向きソース
なお、白レベル判定は、ここで配置したファイルの範囲で行われるため、ある程度の枚数を まとめてPDFにされることをおすすめします。
- 名前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
中身は利用されないため、空でも構いません。
- r2l.txtファイルの配置(任意)
r2l.txtを配置すると、PDFファイルに右開きの情報を埋め込みます。
- 実行
必要に応じて、複数のプロジェクトディレクトリを作成後、bin/convall.shを実行します。
$ bin/convall.sh
- 取り出し
以下のフォルダに出力されるため、結果を取り出します。
data/
books/
(プラグイン名)/
pc/
kobo/
なお、元ソースは、data/doneに移動されます(失敗の場合はdata/failed)。
- 「名前PDF」以外には、パスにスペースを含めないでください。
dataディレクトリの構造は、以下の通りです。
data/
incoming/ プロジェクトディレクトリ配置場所
working/ 処理中プロジェクト移動先
failed/ 失敗プロジェクト移動先
done/ 成功プロジェクト移動先
books/ 処理結果配置先
実際に画像を出力する部分や、アーカイブする部分は「プラグイン」という形で分離しています。 そのため、決まった場所を書き換えたり、プラグインを増やしたりすることで、出力結果を カスタマイズすることが可能です。
プラグインの構造は、以下の通りです。
lib/
plugins/
(プラグイン名)/
archive.sh -- ファイルをまとめるスクリプト
options/ -- 種別ごとの画像変換スクリプト
_.sh -- カラー用
t.sh -- テキスト用
m.sh -- モノクロ用