以前の記事で、Macのターミナルを使用して解凍したEPUBを再圧縮する方法を載せました。
ターミナルを使ってEPUBファイルを解凍する
いちいちターミナルを立ち上げるのも面倒なので、コンテキストメニューのサービスでEPUB圧縮できるように設定したので、書き留めておきます。Mac OS Xのバージョンは10.9.5になります。
アプリケーションフォルダから「Automator」を起動します。
Automatorが起動したら「新規書類」を選びます。
書類の種類を選択するウィンドウが開くので、「サービス」を選びます。
左のアクションのライブラリから「ユーティリティ」を選び、更にユーティリティから「シェルスクリプトを実行」を右のウィンドウにドラッグ&ドロップします。
右のウィンドウ上部の「“サービス”は、次の選択項目を受け取る:」欄は「フォルダ」を、「検索対象:」では「Finder」を選択します。
「シェルスクリプトを実行」欄に下記のスクリプトを入力します。最初に入力されている文字は削除した上で入力して下さい。
d=$1
n=”${d##*/}”
cd $d
rm ../$n.kepub.epub
zip -0 -X “../$n.kepub.epub” mimetype
zip -r “../$n.kepub.epub” * -x mimetype -x .* -x */.* -x */*/.*
上記のスクリプトだけでEPUBに圧縮されます。もしスクリプトの実行状況を見たければ、アクションの「テキスト」から「テキストエディット書類の内容を設定」を選び、右側のシェルスクリプトを実行のアクションの下にドラッグ&ドロップします。
「テキストエディット書類の内容を設定」アクションが登録されます。
シェルスクリプトを入力したら、ファイルメニューから「保存」を選びます。
「epub pack」と名前を付けて、保存しましょう。保存したらAutomatorは終了して構いません。
EPUB用のフォルダ上で右クリック(またはcontrol+クリック)して、コンテクストメニューのサービスから「epub pack」を選びます。
フォルダと同じ階層にepubファイルが作成されます。
テキストエディットを表示するとスクリプトの実行状況が表示されます。
epubの勉強中で頻繁に利用していたのですが、今日突然エラーが出て再圧縮できなくなりました。再起動しても、セーフモードで起動しても、アクセス権の修復をしてもダメです。どうしてでしょうか?何か解決策はありますか?
私の環境では無事に使えてるので、原因がつかめないですね。
Macのターミナルで対応してはいかがでしょうか。
http://jittodesign.org/epub-taminal02-148/