MacでJPGファイルで自炊してZIP化
今までWindowsでScanSnapを使用して自炊を行ってきました。
Macで自炊するにはどうするか設定してみました。
またPDF形式で作成してきましたが、漫画などはJPGをZIPで固めたファイルの方がiPadやiPhoneでの表示切り替えが早いと思ったので出力形式はJPGをZIP化したもので作成しました。
作成するにはツールとかがなくて困るかなと思いましたが、やってみると標準アプリで十分でした。Macいいです。
まず一冊分JPG形式でファイルを作成します。
表紙は1回で取り込みます。たいてい長さが足りなくなるので長尺モードで取り込みます。SnanSnapのボタン長押し→取り込み。
表紙2枚、裏表紙2枚の計四枚のJPGに分割します。プレビューで対応できます。
画像を範囲指定してコピー(Option-c) → 新規作成(Option-n) → 保存(Option-s) →フォルダを指定して形式はJPEGで保存します。
表紙ファイルはファイル名の並び順が日付のファイル名より上、裏表紙は日付のファイル名より下になるように命名します。
例:4分割したファイル名の指定は以下にしました。
12.jpg | 11.jpg | h24.jpg | h23.jpg
もとの1枚で取り込んだ表紙画像は削除します。
Finderでは以下のように表示されます。
ZIP化にはAutomatorを使用します。以下の作業はワークフローで対応できます。
やりたい事:
1.指定したフォルダ内の画像のファイル名を連番に変更
2.ZIPファイル作成
3.画像フォルダ内ファイルをすべて削除
Automatorで画像の置いてある入力フォルダを指定します。決まった場所を新規変数で入力しておきます。
フォルダ内のファイル名を連番に変更します。
アーカイブを作成します。ZIPファイルの作成先フォルダをしています。
ファイル名を都度変更できるように「ワークフローの実行時にこのアクションを表示」にチェックを入れます。
ZIPファイル作成後、JPGファイルは削除します。先ほど登録した変数を使用します。
また、それまでの入力は無視します。右クリック(Option押しながら)で「入力を無視」を指定します。
作成したワークフローは適当なフォルダに保存します。
私は以下のフォルダに作成しました。
ユーザー/ライブラリ/Workflows/
MacでEmacsでJDEEを設定する
何を思ったかMacBookAirを購入してみました。プライベートでは初Macです。
いや、iPadを使っていますがその分PCに触れる時間が減ってきたため、開発者としてはイカンだろ。と思った次第です。
使い勝手はとてもよいです。
長年使っているWindowsより調べたいことが直感的に探せる、標準ソフトで使えるものが既に多く揃っている、何よりかっこいいです。
WindowsではMeadowを使っていますが、標準のキーバインドがEmacsに近いのもよいです。
さて開発ツールとしてCocoa Emacsが良さそうなので入れてみました。(XCodeは当然先に入れました)
JDEEに必要なライブラリをダウンロードします。
私はホームの以下の場所に解凍しました。
~/emacs/lisp/cedet-1.0 ~/emacs/lisp/elib-1.13-pkg ~/emacs/lisp/jdee-2.4.0.1
javaのコンパイル時に使用するtools.jarはMacにはないとのことなのでjde.elのソースを変更。
(if (eq system-type 'darwin) "/System/Library/Frameworks/JavaVM.framework/Versions/1.6/Classes/classes.jar" "lib/tools.jar") (jde-get-jdk-dir))))
cedetはMakeがあるので実行。
make make install
あとは~/.emacs/init.elを設定。パスを追加した後バイトコンパイルを実行。
;; cedet ;(load-library "cedet") (load-library "~/emacs/lisp/cedet-1.0/common/cedet.el") (global-ede-mode 1) ;(semantic-mode 1) (setenv "JAVA_HOME" "/Library/Java/Home") (setenv "ANT_HOME" "/usr/share/java/ant-1.8.1") (add-to-list 'load-path (expand-file-name "~/emacs/lisp/jdee-2.4.0.1/lisp")) (add-to-list 'load-path (expand-file-name "~/emacs/lisp/cedet-1.0/common")) (add-to-list 'load-path (expand-file-name "~/emacs/lisp/cedet-1.0/semantic")) (add-to-list 'load-path (expand-file-name "~/emacs/lisp/cedet-1.0/eieio")) (add-to-list 'load-path (expand-file-name "~/emacs/lisp/cedet-1.0/speedbar")) (add-to-list 'load-path (expand-file-name "~/emacs/lisp/cedet-1.0/cogre")) (add-to-list 'load-path (expand-file-name "~/emacs/lisp/cedet-1.0/ede")) (add-to-list 'load-path (expand-file-name "~/emacs/lisp/cedet-1.0/srecode")) (add-to-list 'load-path (expand-file-name "~/emacs/lisp/elib-1.13-pkg/lisp/elib")) (require 'cedet) (require 'jde) (setq compilation-window-height 8) (require 'jde-ant) (setq jde-ant-enable-find t) (setq jde-ant-home "/usr/share/java/ant-1.8.1") (setq jde-ant-program "/usr/bin/ant") (setq jde-ant-read-target t) (setq jde-build-function (quote (jde-ant-build)))
適当なJavaソースでjde-compile実行。できた。
MacでEmacsでJDEEを設定する
何を思ったかMacBookAirを購入してみました。プライベートでは初Macです。
いや、iPadを使っていますがその分PCに触れる時間が減ってきたため、開発者としてはイカンだろ。と思った次第です。
使い勝手はとてもよいです。
長年使っているWindowsより調べたいことが直感に探せる、標準ソフトで使えるものが既に多く揃っている、何よりかっこいいです。
WindowsではMeadowを使っていますが、標準のキーバインドがEmacsに近いのもよいです。
さて開発ツールとしてCocoa Emacsが良さそうなので入れてみました。(XCodeは当然先に入れました)
JDEEに必要なライブラリを必要なライブラリをダウンロードします。
私はホームの以下の場所に解凍しました。
~/emacs/lisp/cedet-1.0 ~/emacs/lisp/elib-1.13-pkg ~/emacs/lisp/jdee-2.4.0.1
javaのコンパイル時に使用するtools.jarはMacにはないとのことなのでjde.elのソースを変更。
(if (eq system-type 'darwin) "/System/Library/Frameworks/JavaVM.framework/Versions/1.6/Classes/classes.jar" "lib/tools.jar") (jde-get-jdk-dir))))
cedetはMakeがあるので実行。
make make install
あとは~/.emacs/init.elを設定。パスを追加した後バイトコンパイルを実行。
;; cedet ;(load-library "cedet") (load-library "~/emacs/lisp/cedet-1.0/common/cedet.el") (global-ede-mode 1) ;(semantic-mode 1) (setenv "JAVA_HOME" "/Library/Java/Home") (setenv "ANT_HOME" "/usr/share/java/ant-1.8.1") (add-to-list 'load-path (expand-file-name "~/emacs/lisp/jdee-2.4.0.1/lisp")) (add-to-list 'load-path (expand-file-name "~/emacs/lisp/cedet-1.0/common")) (add-to-list 'load-path (expand-file-name "~/emacs/lisp/cedet-1.0/semantic")) (add-to-list 'load-path (expand-file-name "~/emacs/lisp/cedet-1.0/eieio")) (add-to-list 'load-path (expand-file-name "~/emacs/lisp/cedet-1.0/speedbar")) (add-to-list 'load-path (expand-file-name "~/emacs/lisp/cedet-1.0/cogre")) (add-to-list 'load-path (expand-file-name "~/emacs/lisp/cedet-1.0/ede")) (add-to-list 'load-path (expand-file-name "~/emacs/lisp/cedet-1.0/srecode")) (add-to-list 'load-path (expand-file-name "~/emacs/lisp/elib-1.13-pkg/lisp/elib")) (require 'cedet) (require 'jde) (setq compilation-window-height 8) (require 'jde-ant) (setq jde-ant-enable-find t) (setq jde-ant-home "/usr/share/java/ant-1.8.1") (setq jde-ant-program "/usr/bin/ant") (setq jde-ant-read-target t) (setq jde-build-function (quote (jde-ant-build)))
適当なJavaソースでjde-compile実行。できた。
jQuery-ui autocompleteの使い方(複数パラメータ入力 and JSON配列読み込み)
ちまたで使われているWeb画面での入力補完を私もやってみたかったのです。
ライブラリは使いやすくて奥深い、jQuery。jQueryで使える入力補完のライブラリを探しました。
jQueryUIのautocompleteがよさそうです。
ajaxでサーバーに複数フォーム項目のデータを送信したかったのです。入力中のフォームの値はtermオプションで自動的にパラメータが追加されています。他のフォームの値をパラメータとして追加で渡したかったのです。
なおかつJSON配列でデータを受け取るようにしたかったのです。
サンプル:
["京都","京橋","京田辺"]
単純にURLにGETパラメータで追加しようとしてもできませんでした。関数ロード時の値が登録されていました。入力補完の実行時にパラメータを渡したいのです。
jQueryで$.ajax()関数を使用するのがよさそうでした。
$(function(){ $("#name").autocomplete({ source: function(request, response) { $.ajax({ url: "data.json", dataType: "json", data: { term: request.term, org: $("#org").val() }, success: function(data) { response($.map(data, function(item) { return { label: item, value: item } })) } }) } }) });
successは悩みました。実現は割とシンプルにできました。
動作できました!