7zipでEPUB3を作るときに嵌った件

EPUB作成スクリプトを作る際にハマった事。

EPUBを作る際のZIPアーカイブ。

EPUBの仕様では、アーカイブの先頭に無圧縮のmimetypeを配置すること。
> 7z.exe a -mx1 epub.epub mimetype
> 7z.exe a -mx9 epub.epub OEBPS META-INF

以上のコマンドでアーカイブすると、一応EPUBビューアで見れるが…
チェッカーでチェックすると…

$ epubcheck epub.epub
ERROR(PKG-006): ./epub.epub/epub.epub(-1,-1): mimetypeファイルエントリが存在しないか、アーカイブの先頭以外の場所に存在しています.

のエラー。7zipのコマンドで中身を調べてみると
# 7z.exe l epub.epub

Date        Time    Attr         Size  Compressed   Name
------------------- ----- ------------ ------------ ------------------------
2019-06-15 11:13:13 D....            0            0 META-INF
2019-06-15 11:13:13 ....A          244          169 META-INF\container.xml
2019-06-15 11:13:13 ....A           20           20 mimetype
2019-06-15 11:13:13 D....            0            0 OEBPS
2019-06-15 11:13:13 ....A         7500         1174 OEBPS\content.opf
2019-06-15 11:13:13 D....            0            0 OEBPS\Images
2019-06-04 13:46:07 ....A       403417       400058 OEBPS\Images\01.jpg

コマンドで最初にアーカイブしても、先頭には来ない。アルファベット順に並んでいる様子。なので、mimetypeのファイル名を00mimetypeで作成。アーカイブ後にリネーム。

> 7z.exe a -mx1 epub.epub 00mimetype
> 7z.exe a -mx9 epub.epub OEBPS META-INF
> 7z.exe rn epub.epub 00mimetype mimetype

Date Time Attr Size Compressed Name
------------------- ----- ------------ ------------ ------------------------
2019-06-15 11:13:13 ....A           20           20 mimetype
2019-06-15 11:13:13 D....            0            0 META-INF
2019-06-15 11:13:13 ....A          244          169 META-INF\container.xml
2019-06-15 11:13:13 D....            0            0 OEBPS
2019-06-15 11:13:13 ....A         7500         1131 OEBPS\content.opf
2019-06-15 11:13:13 D....            0            0 OEBPS\Images
2019-06-04 13:46:07 ....A       403417       398861 OEBPS\Images\01.jpg

これで、チェッカーにかけると

$ epubcheck epub.epub
EPUB version 3.0.1 のルールを使って検証します.
エラーも警告も検出されませんでした.

まぁ、アーカイブしたEPUBをSigilなどのエディタで開いて保存し直せば、このエラーは消えるんですけどね。

ロリポ&ヘテムルにownCloudを設置

原稿の保存にowncloud(アプリで同期)を使用しているのですが、手持ちのレンタルサーバー(ヘテムル)に設置する際に、ソースの変更が必要なので、自分用にメモ。

※修正しないと、ブラウザでは見れるのに、クライアントアプリでログインできない(403でwebdav接続ができない)現象が発生する。
※ロリポ、ヘテムル(php7.x CGI版、モジュール版)で確認。

ownCloud Server(tar.bz2)をダウンロード
https://owncloud.org/download/
今日の最新は、owncloud-10.2.0.tar.bz2

解凍

.htaccessのRewriteEngine on の下に追加

RewriteCond %{HTTP:Authorization} .
RewriteRule ^(.*) $1?Authorization=%{HTTP:Authorization} [QSA,C]
RequestHeader unset Authorization

.htaccessの最後に追加

<IfModule mod_siteguard.c>
   SiteGuard_User_ExcludeSig method-chk-3
</IfModule>

/lib/base.php の protected static function handleAuthHeaders() { の下に追加

if(isset($_GET['Authorization']) && preg_match('/Basic\s+(.*)$/i', $_GET['Authorization'], $matches)){
	list($name, $password) = explode(':', base64_decode($matches[1]));
	$_SERVER['PHP_AUTH_USER'] = strip_tags($name);
	$_SERVER['PHP_AUTH_PW'] = strip_tags($password);
}

FTPでアップ

レンタルサーバーのコンパネでWAFをOFFにする

ブラウザでアクセス(SSL必須?共有SSLでもOK)
例 https://******/owncloud/

あとは通常通り

ImageMagickとVBSで製本直送入稿用PDF作成を自動化

ImageMagickとVBスクリプトで製本直送入稿用PDF作成を自動化してみました。

使い方は
1.原稿PSD(レイヤ統合済み)と、VBSを同じフォルダに保存
2.VBSをダブルクリックで実行
3.ダイアログに従って設定を入力
4.フォルダにPDFとログファイルが作成される

やってることは、CMYK変換、トンボ削除、PDF作成
(CMYKプロファイルはjapancolor2001coatedですが、ソース内で設定変更可)

他にも「kindle用jpeg.vbs」「トンボ削除.vbs」「リサイズ.vbs」「PDF小冊子印刷用に変換する.vbs」を作ってみた。

VBSをダウンロード
https://i-b.heteml.jp/owncloud/index.php/s/1fRs8fWQ0zR5UTs/download

参考
Windows で ImageMagick 7, FFmpeg のインストール

現地ではいつも練習がてらお絵かきしてます。

11696317_926396724073739_5302591958096949304_o7/19 おでライつどーむ行ってきました。
現地ではいつも、練習がてらお絵かきしていて、その様子をipadをサブディスプレイにして、前を通りかかる方にお見せしてます。↑もそれ。

私の下手絵でも立ち止まってくださる方もいらっしゃるので、うまい絵師さんならもっと効果あると思います。