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 のインストール

「ただいま工事ちゅう!番外編4」


12/2 北海道コミティア9 参加します

新刊は「ただいま工事ちゅう!番外編4」(白黒コピー本8P 50円)です

タイトル ただいま工事ちゅう!番外編④
サークル もりた電機商会
発行日 2018-12-02
仕様 B5白黒8P
頒布価格 50円
著者 MOKOBIN,BEN
印刷所 コンビニプリント
email info@morita-denki.com
WEB http://morita-denki.com
RSS https://goo.gl/zmGpWZ
表紙画像
URL
http://bit.ly/2DH3nYc
TWITTER @inoue_ben

QR奥付 iphoneだけで利用する方法


iphoneと無料アプリだけで、QR奥付を使った同人誌管理を考えてみる

【使うもの】
・iphone
・メモ(iphoneの標準アプリ)
・QRコードリーダーアプリ(メモと連携できるもの)
今回仕様は→QRコードリーダー for iPhone

1.iphoneのメモに奥付保存用フォルダを作る
2.QRコードリーダーでQR奥付を読み込む
3.読み取り結果をメモに送る
4.奥付保存用フォルダに新規メモとして保存する
5.奥付保存用フォルダに奥付がたまる
6.キーワードで検索できる

QR奥付 外部テキストの使用


QR奥付の最大の弱点
「情報量が増えるとQR画像も大きくなる」
これを克服するために、仕様を追加しました。

1.奥付情報を記述したテキストファイルを、ネットにアップ
2.そのファイルのURLをQR奥付に記載
3.QR奥付を読み込んだアプリやWEBサービス側で、テキストファイルを読み込んで情報を補完

ざっくりこんな感じですでは、実際の作り方…

例えば ↓ のような奥付情報からQR画像を作成すると、結構な大きさになります。紙面に余裕があれば大きいまま貼り付けちゃえばいいのですが、どうしても小さくしたい。でも小さくすると認識率が下がる。そこで
上記の奥付情報をテキストファイルに保存して、サイトにアップします。
(テキストファイルには format QR奥付 の記述が必須)
私はwordpressを使っているので、メディアに追加してみました。
こんな感じ↓
http://morita-denki.com/wp-content/uploads/2018/02/extest.txt

レンタルサーバー借りている人なら、FTPでアップすることになると思います。

ブラウザで直接参照できる場所なら、どこでもOKですが、レンタルブログなんかは、外部からの直接参照が出来ない場合がありますので、要注意。

次に、上記のURLを記述したQR奥付を作成します。
外部テキストの指定は、項目名「external」にURLを記述します。
さすがにURLだけだと寂しいので、タイトルは入れました。
これで534×534ピクセルから294×294ピクセルになりました。
URLを短縮すれば、更に小さくなります。
これなら紙面に載せても、邪魔にならないと思います。
試しに、このQRコードを奥付管理BOOK登録で読ませると外部テキストを読み込んで、値をセットしてくれます。

これならQR画像を小さく抑えたまま、情報量を増やすことができますが…
テキストファイルをアップできる場所が必要
となります。
レンタルサーバーとかを借りている人は問題ないのですが…。
試しにdropboxの共有URLで試したのですが、ダメでした。

外部テキストのみアップロードできる機能を、奥付管理に追加してもいいのですが、需要があるようなら考えます。とりあえずはこれで…

外部テキスト提供問題、「奥付管理」に自分の本を登録することで、解決しました。奥付情報詳細の一番下に、外部テキストURLを表示します。これをexternalの値としてコピペすればOK。もちろん長いので、短縮URL推奨です。
見え方はこう↓
http://okuduke.morita-denki.com/dl_okuduke_extext.php?p=4_3_878ad77dd4ca3f63a11797a1ce6f3218

イベント参加予定です


イベント参加予定です
新刊は、北海道コミティア8に合わせて出します。
Elysian34とCOMITIA124は、QR奥付の宣伝かな…

Elysian34
2018年2月25日(日)
アスティホール(札幌市中央区北4条西5丁目 アスティ45ビル4階)
—-
COMITIA124
2018年5月5日(土祝)
有明・東京ビッグサイト東4・5・6ホール
—-
北海道コミティア8
2018年6月17日(日)11:00-15:00
ホテルさっぽろ芸文館(旧北海道厚生年金会館)3Fロイヤルホール
(札幌市中央区北1条西12丁目)