Giter Club home page Giter Club logo

bkimgproc's Introduction

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           -- モノクロ用

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.