HTMLでコピー本を作るプロジェクト

コピー本データをコンビニコピー機をターゲットに簡単に作るプロジェクトを作成中。

CopiBon- dest top

f:id:ryunosinfx:20180806003028p:plain

コピー本の原稿データ

コピー本の原稿を作るのはいい。

問題は印刷だ。

原稿を規定の解像度に収めるのはいい。 が、いざコンビニに印刷用のデータを持って行くとなるとこれが難しい。

  • コンビニのコピー機の性能は?
  • どのサイズまでなら受け付ける?
  • 実際に印刷できる範囲は?

これらを考慮すると過去の経験により

B5版向けの原稿用紙が300dpiであるとき、257mmが高さで、 コピー用にギリギリを狙うと、断ち切り線までは600dpiで272-274mmに拡大する

4184x5909がベストピクセル@B5サイズとしたのでこれでJpeg100%品質で10MBを超えなければセブンイレブンで印刷が可能になると・・・

セブンイレブンコピー機の仕様を確認すると次のような制約がある。

7000万画素までしか対応しないのか・・・ということは8366px四方になるのだが・・・ なるほど、7035x9949までしか印刷できなくて、600dpiだと長辺が421mmなのでギリギリA3が印刷可能であると。確かにスペック通りだわ。 だったら7000万画素印刷可能とかだけじゃなくて600dpiでA3(7035x9949px)まで印刷可能ですとか謳って欲しい。なるほど、こりゃコソビニで1200dpiの印刷なんぞ出来んわけだ。

ちなみに最近触った感じだと

  • セブンイレブン:PDFの選り好みはしない
  • ミニストップ:PDFの選り好みをする。スマホから直接吸い出しが出来る模様。まだ繋いだことはない。
  • ファミマ、ローソン:一旦マシンにファイルを取り込む。どこまで出来るかは不明。

ここのまとめがいい感じ。

togetter.com

そもそもの動機

さて、この画像を作るのが苦行で仕方がない。 平均4時間はかかる重労働である。これが、ボタン一つで済むなら10分ぐらい時間がかかっても嬉しいではないか。時間はなによりも貴重である。

一旦自動化はしたものの

というのも、メインで使用しているGimpはPyhon-Fuなどの自動化ができなくはないが 不安定である。実際作ったがGimp2.10も出たしね、動くかどうかよくわからない。 作ったものを再インストールする。これも骨である。なにやら手の混んだ儀式が必要だった記憶がある。 なので、やはりインストール不要で、何時でも使えるものが良い。

という要件からWebで実装を開始した。

先達の調査

www.vector.co.jp

の一箇所だけだが見つけた。 残念!基盤技術がプロプラでした。Windowsユーザはいいかもしれない。でも私はLinuxユーザだし使えないことはないだろうがあんまり魅力を感じない。理由は思ったより省力化されないという点。

Webのいいところ

Webのいいところはブラウザに配信すればインストールが完了なのである。 まどろっこしいインストール先のフォルダの 指定も要らない。ただ、ブラウザを開いて指定のURLを開けばおしまいである。

次の要望も叶う

  • ①自宅はLinuxで統一したい→Linuxでも使える
  • ②移動中にも使いたい→スマホで使える
  • ③職場の昼休みにも使いたい→スマホ
  • ④配布をイージーにしたい→ギフハブ

(ただしIESafari、Edge等プロプラな連中はよくわからない。IEは言語道断、他もなにせ実機がないでな。なのでこのプロジェクトではFOSSなChrome、Chromiume、Firefoxを念頭に話を進める。)

ちなみに

現在のWeb(クライアント側javascript)の状況を説明すると

  • Indexeddbでデータ保存が出来る。
  • WebWorkerマルチスレッドも可能
  • FileAPIでファイルの読込、バイナリ、画像の加工も可能
  • zlib.js等でzipファイルの生成も出来る。
  • PDFだって作れる。
  • ServiceWokerにてオフラインでブックマークから開いて動かすことも可能
  • 速度はネイティブプログラムの2〜3倍程度の遅さに収まる
  • 外部からのPush通知にはサーバーが必要、プログラム内でならNotificationAPIで自分で出せる。

したがって、何でも出来るのである。

進捗

次のステップで進めている。

  • ①アプリを開く
  • ②画像をアプリ上に集める
  • ③画像をアプリ上でプレビューで確認
  • ④画像を出力ページに割り付け
  • ⑤アプリで割り付けをプレビューで確認
  • ⑥出力設定をする
  • ⑦ファイルの生成
  • ⑧zipでまとめてダウンロード。ファイル名は日付入り
  • ⑨後はノーチェックで解凍、印刷。(実際にコピー機にぶち込んで作業が止まらないかの実地テスト)

現状は⑥、⑦のまだ画像の加工ができたところまで 道のりは長い。