2019年11月13日

EpubMerge

章ごとに作成していたepubファイルを一冊分まとめるときなど、重宝するCalibreプラグイン「EpubMerge」についての情報源です。

How to Easily Merge and Split Ebooks

GitHub repository for EpubMerge
GitHub repository for EpubSplit
GitHub repository for SmartEject

EpubMerge Calibre Plugin forum

2019年05月02日

「KindleGen」を使ってepub形式電子書籍をmobi形式に変換(続)

「KindleGen」プログラムを使用して、koboで読んでいたepub形式電子書籍をkindle用のmobi形式に変換するにさいして、有用な情報があったのでサイト情報を追加しておく。

MobileRead Wiki
MobileRead Wiki - KindleGen
MobileRead Wiki - KindleUnpack

2018年10月18日

calibreに「Send-to-Kindle Eメールアドレス」を設定する

calibreでは、「Send-to-Kindle Eメールアドレス」を利用して、ライブラリに保管してあるkindle用電子書籍ファイルやウェブサイトから取得したニュースなどをkindle端末へ送ることができます。
ここでは通常使っているGmailアドレスから「Send-to-Kindle Eメールアドレス」へ送信するものとして、事前に準備しておくことと、calibreの設定方法を記述していきます。

1. 事前準備
calibreに「Send-to-Kindle Eメースアドレス」を設定するまえに、Gmailおよびamazonのほうで、いくつか準備作業をしておく必要があります。

1-1. Gmail
googleのトップ画面から「アカウント」をクリックし、「ログインとセキュリティ」へすすみます。
画面をスクロールさせていくと、いちばん下のほうに「安全性の低いアプリの許可」という項目があるので、これを「有効」にします。

1-2. Send-to-Kindle Eメールアドレスの特定
amazonのトップページから「アカウント&サービス」をクリックして「アカウントサービス」へすすみ、「デジタルコンテンツとデバイス」カテゴリにある「コンテンツと端末の管理」画面を開きます。
「設定」タブを選ぶと、下のほうに「パーソナル・ドキュメント設定」という項目があるので、これをクリックします。
「Send-to-Kindle Eメールアドレスの設定」欄に、登録されているkindle端末の名前が表示されていて、その横に「Eメールアドレス」が記載されています。
これがそのkindle端末に固有の「Send-to-Kindle Eメールアドレス」になります、「アクション」の「編集」をクリックして変更することも可能です。

1-3. 承認済みEメールアドレスの登録
amazonのトップページから「アカウント&サービス」をクリックして「アカウントサービス」へすすみ、「デジタルコンテンツとデバイス」カテゴリにある「コンテンツと端末の管理」画面を開きます。
「設定」タブを選ぶと、下のほうに「パーソナル・ドキュメント設定」という項目があるので、これをクリックします。
「承認済みEメールアドレス一覧」欄に登録されている電子メールアドレスからのみ「Send-to-Kindle Eメールアドレス」へメールを送ることが可能になるので、「承認済みEメースアドレスを追加」をクリックして通常使っているGmailアドレスを登録しておきます。

2. calibreの設定方法
「設定」ボタンを押して設定画面を開き、「共有」カテゴリにある「メール共有」をクリックします。

2-1. 「Send-to-Kindle Eメールアドレス」の設定
上半分が「Send-to-Kindle Eメールアドレス」用なので、右側の「+ アドレスを追加」ボタンを押して、ファイルを送りたいkindle端末の「Send-to-Kindle Eメールアドレス」を登録します。
「自動送信」にチェックをいれると、ウェブニュースを取得したさい、該当kindle端末の「Send-to-Kindle Eメールアドレス」あてに自動的にメール送信されます。

2-2. Gmailの設定
下半分は送信元となる「承認済みEメールアドレス」登録用なので、通常使っているGmailアドレス(ここでは「username@gmail.com」とする)の情報を入力していきます。
例えば、以下のようになります。

送信元のメールアドレス: username@gmail.com

メールサーバ
ホスト名: smtp.gmail.com
ユーザ名: username
パスワード: password
「暗号化: SSL」+「 ポート番号: 465」もしくは「暗号化: TLS」+「ポート番号: 587」


設定が完了したら、「メールのテスト」ボタンを押して「はい」と答えてすすみ、メール設定テスト画面を開きます。
「テスト」ボタンを押してしばらく待ち、ダイアローグボックスに「メールは正常に送信されました」と表示されたら、「承認済みEメールアドレス」は正しく設定されています。


参考ウェブページ一覧表(順不同)

https://www.amazon.co.jp/gp/help/customer/display.html?nodeId=201974220
https://www.amazon.co.jp/gp/help/customer/display.html?nodeId=200767340
https://www.amazon.co.jp/gp/help/customer/display.html?nodeId=201974240

「Ubuntu 18.04 LTS 日本語 Remix」で「Kindle for PC」を動かすための準備

基本的な手順としては、「Ubuntu 18.04 LTS 日本語 Remix」に「wine」を導入し、そのうえで「Kindle for PC」を動かすことになる。
しかし、「wine」と「Kindle for PC」のバージョンによって動作したりしなかったりすることもあるようで、ちょっと調べてからじっさいの作業にかかったほうがいいかもしれない。


参考ウェブページ一覧表(順不同)

https://creative-ip.com/archives/777
https://hrvtuirvw.net/blog/kindle-epub/
http://nkenbou.hatenablog.com/entry/2017/04/25/125733
https://www.hiroom2.com/2017/09/04/ubuntu-1704-kindle-ja/
http://gihyo.jp/admin/serial/01/ubuntu-recipe/0433

2018年10月11日

kindle用電子書籍をあつかうさい便利なcalibreプラグイン

・DeDRM_tools
https://github.com/apprenticeharper/DeDRM_tools/
https://github.com/apprenticeharper/DeDRM_tools/releases

ダウンロードした「DeDRM_tools_6.6.1.zip」を解凍し、「DeDRM_calibre_plugin」フォルダ内にある「DeDRM_plugin.zip」ファイルから、プラグインをインストールする。
インストールがおわったら、「calibre」を再起動してプラグインを有効化し、「プラグインをカスタマイズ」ボタンからkindle端末のシリアル番号を登録しておく。

・KFX Input
https://www.mobileread.com/forums/showthread.php?t=291290

最初のエントリの一番下に「Attached Files」が表示されているので、「KFX Input.zip」をクリックして「KFX Input.zip」ファイルを取得し、このファイルからプラグインをインストールする。
インストールがおわったら、「calibre」を再起動してプラグインを有効化する。

mobi形式電子書籍をepub形式電子書籍に変換するさい、calibreライブラリから対象となる本を選択して「本を変換」ウインドウをひらき、「外観」 -> 「スタイル」タブで以下の例のような追加CSSを入力してから変換処理を実行すれば、きちんと縦書きのepub電子書籍ファイルを生成してくれる。

@charset "utf-8";
* {
line-height: 150%;
}
.vertical,.vrtl {
writing-mode: vertical-rl;
-epub-writing-mode: vertical-rl;
-webkit-writing-mode: vertical-rl;
line-break: normal;
-epub-line-break: normal;
-webkit-line-break: normal;
}
p{
margin: 0;
}

h2{
margin-left:3rem;
margin-top:3rem;
}


or

@charset "utf-8";

* {
line-height: 150%;
}

@font-face {
font-family: "ipamp";
src: url(../Fonts/ipamp.ttf);
}

body{
font-family: "ipamp";
writing-mode: vertical-rl;
line-break: normal;
-epub-writing-mode: vertical-rl;
-webkit-writing-mode: vertical-rl;
-epub-line-break: normal;
-webkit-line-break: normal;
}

p{
margin: 0;
}

h2{
margin-left:3rem;
margin-top:3rem;
}


変換処理は完璧ではなく、epub形式電子書籍の表示に問題が残ることもあるが、追及はしない。
どちらかといえばepub形式電子書籍をmobi形式電子書籍に変換して、kindleで利用できるようにする方向のほうが頻度が高く、上記のmobi形式電子書籍からepub形式電子書籍への変換が必要になることはあまりないので。


参考ウェブページ一覧表(順不同)

https://creative-ip.com/archives/777
https://hrvtuirvw.net/blog/kindle-epub/
https://webnetforce.net/post-105/
https://qiita.com/keitasumiya/items/c9d0f81fd7fb96e505b3
https://hagane-ya.net/archives/3838

2018年10月10日

kindleで青空文庫を楽しむ

せっかく購入した「kindle paperwhite (32 GB)」を活用するため、「青空文庫」を利用してみることにしました。
「青空文庫」で公開されているテキストファイルからkindleで読めるmobi形式電子書籍ファイルを生成するには、

1. 「AozoraEpub3」ツールを使って「青空文庫」テキストファイル(ルビあり)をepub形式電子書籍ファイルに変換。
2. 「KindleGen」ツールを使ってepub形式電子書籍ファイルをmobi形式電子書籍ファイルに変換。

の二段階変換作業をするのが、作業がかんたんであるうえに互換性も高くていいようです。
(いったんepub形式電子書籍に変換するため、作業のなかで自動的にkoboで読めるファイルも得られるという、たまにまだ「kobo aura」も使うhatakazuとしてはうれしい副産物もあります。)
基本的には、読みたい本をダウンロードしてきて、一括でファイル変換してkindleへ転送するだけでO.K.です。
その手間をはぶきたい場合は、大量の青空文庫テキストファイルファイルを「kepub.epub」ファイルに変換したうえで、ひとつのアーカイブファイルとして配布しているサイトを利用することもできます。

・kobo用青空文庫再配布ファイル集: http://www.nurarikobo.kobodeaozora.asia/
・[Calibre]Kindle用に大量のEPUBファイルをmobiファイルに一括変換したファイル置き場: https://jibundex.com/pcuseful/kindle-aozora-mobi

とくに「kobo用青空文庫再配布ファイル集」サイトは、「青空文庫」に追加される作品を定期的に補充してアーカイブを拡充しており、epub形式電子書籍をまとめて取得することができてたいへん便利です。
あとは、取得したepub形式電子書籍を「kindlegen」コマンドでmobi形式電子書籍に変換してやれば、kindleで「青空文庫」を楽しむことができるようになります。

2018年10月05日

「KindleGen」を使ってepub形式電子書籍をmobi形式に変換

電子書籍を読むのに、これまで「kobo aura」を使ってきましたが、このたびあらたに「kindle paperwhite (32 GB)」を購入しました。
「kobo aura」を四年くらい使ってきて、さすがに動作がおそいのが気になりはじめたので、次は「kindle paperwhite (32 GB)」をためしてみようかなと。
それにさいしては、まずはこれまでkoboで読んでいたepub形式の電子書籍を、kindleで読めるmobi形式に変換しておく必要があります。
とりあえず、「KindleGen」というamazonのツールがLinuxネイティブで動きそうなので、これを使ってみることにしました。

1. 前提となる環境
インストールするコンピュータの仕様は以下のとおり。

--
Dell Inspiron 14 7472 Core i7モデル 18Q42P
OS:Ubuntu 18.04 LTS 日本語 Remix
CPU:インテル Core i7-8550U (4Mキャッシュ、最大4.0GHz)
GPU:NVIDIA GeForce MX150 GDDR5 2GB
メモリー:8GB DDR4 2400MHz(最大16GB)
保存装置:128GB SSD (Windows10) + 1TB 5400rpm HDD (Ubuntu18.04)
--

2. 「KindleGen」のダウンロードとインストール
amazon.com」の「KindleGen」ページへいき、「Downloads」セクションの「I agree to terms of use」にチェックをいれてから、「KindleGen v2.9 for Linux 2.6 i386」の横にある「Download Now」ボタンをクリックします。
ダウンロードされた「kindlegen_linux_2.6_i386_v2_9.tar.gz」ファイルを解凍し、パスのとおったディレクトリへ移動します。

$ tar zxvf kindlegen_linux_2.6_i386_v2_9.tar.gz
$ sudo mv kindlegen /usr/local/bin/ (「~/bin」にパスをとおしてある場合は「$ mv kindlegen ~/」 -> 「$ ln -s ~/kindlegen/kindlegen ~/bin」でO.K.)


以上でインストールは完了し、「kindlegen」コマンドを使えるようになります。

3. 「KindleGen」の使いかた
「Ctrl」+「Alt」+「T」キーを押してターミナルを開き、変換したいepubファイルを引数指定して「kindlegen」コマンドを実行するだけで、kindleで読めるmobiファイルを生成することができます。
たとえば「sample.epub」ファイルが「~/epub」ディレクトリにあるとすれば、実行するコマンドは以下のようになります。

$ kindlegen ~/epub/sample.epub


問題なく変換処理が終了すれば、もとの「sample.epub」ファイルがあるおなじ「~/epub」ディレクトリに、「sample.mobi」ファイルが生成しているはずです。
生成したmobiファイルをkindleへ転送すれば、これまでkoboで読んでいた電子書籍をほぼそのまま、kindleで読むことができるようになります。


参考ウェブページ一覧表(順不同)

https://kindlegen.s3.amazonaws.com/Readme.txt

2018年05月01日

calibreを使ってkobo auraをニュースリーダにする

hatakazuがcalibreを使う目的のひとつとして、電子書籍リーダkobo auraでニュースを読めるようにすることがあります。
もちろんインターネット上にニュースはあふれていて、コンピュータやスマートフォンからブラウザで読みにいけるし、スマートフォンのRSSリーダを利用するのも便利です。
しかし、移動中はコンピュータは使えないし、長時間スマートフォンで読むのはけっこうつかれます。
その点、電子書籍リーダで読めば読みやすくて目にやさしいうえ、時間と場所を選ばずに読めるメリットも失われません。
そうはいってもデメリットもあって、それは、電子書籍リーダへニュースを取りこむというひと手間がかかるということです。
それでも、calibreをうまく使うことでその部分の負担はほとんどなくなり、ほぼメリットだけを享受できるようになります。

calibreの「ニュースを取得」メニューから「カスタマイズしたニュースソースを追加/編集」画面を開きます。
「新しいレシピ」ボタンを押して、ここに読みたいニュースのRSSソースを入力し、必要におうじてわかりやすい名前をつけて「保存」します。
そうすると、それが「ニュースを取得」→「ニュースの取得スケジュール」画面の「カスタム」カテゴリに登録されているので、ダウンロードするスケジュールを指定してやります。
hatakazuの場合は、「曜日指定」で月曜日から日曜日までの毎日、「06:00午前」にニュースを取得するように設定しています。
指定の時刻にcalibreを起動しておく必要があるのがちょっと問題ではありますが、calibreが起動されていれば、設定されているスケジュールにしたがってすべてのニュースがcalibreライブラリにダウンロードされます。
その状態でkobo auraをUSB接続すれば、ダウンロードされた最新ニュースが自動的にkobo auraに転送される、という仕組みです。
ニュースの取得そのものは、hatakazuが朝食を食べたりしているあいだにcalibreが自動的にやってくれるので、じっさいにかかる手間はkobo auraをUSB接続→転送が終わったら接続解除するだけ。
電子書籍リーダがkindleであればUSB接続する必要もなく、「Send-to-Kindle」機能を使って該当する電子メールアドレスへメール送付するところまでcalibreで自動化できるので、自宅でkindleをWi-Fiにつなげておくだけで毎朝kindleに最新ニュースがダウンロードされていることになります。
hatakazuもこれが便利で、最初は「Fire HD 8」タブレットにニュース配信して読んでいたのですが、やはり長時間読んでいると目がつかれてきてしまいます。
そのため、USB接続のひと手間はかかるのですが、やはり字が読みやすくて長時間でも楽に読めるkobo auraでニュースを読むことにしました。
正直なところをいえば、この目的のためにFireタブレットではなくkindle端末を購入してもいいかな、と考えているところですが・・・。


hatakazuが取得しているニュースの一覧表(ユーザ登録不要で全文RSSを取得できるソースのみ)

CNN Japan - http://feeds.cnn.co.jp/rss/cnn/cnn.rdf
ハフポスト - https://www.huffingtonpost.jp/feeds/index.xml
Reuters Japan
・Top Stories - http://feeds.reuters.com/reuters/JPTopNews?format=xml
・Company News - http://feeds.reuters.com/reuters/JPCompanyNews?format=xml
・World News - http://feeds.reuters.com/reuters/JPWorldNews?format=xml
・Business News - http://feeds.reuters.com/reuters/JPBusinessNews?format=xml
・Technology News - http://feeds.reuters.com/reuters/JPTechnologyNews?format=xml
・Oddly Enough News - http://feeds.reuters.com/reuters/JPOddlyEnoughNews?format=xml
The Japan Times
・News - http://www.japantimes.co.jp/news/feed/
・Opinion - http://www.japantimes.co.jp/opinion/feed/
・Life - http://www.japantimes.co.jp/opinion/feed/
・Community - http://www.japantimes.co.jp/community/feed/
・Culture - http://www.japantimes.co.jp/culture/feed/
・Sports - http://www.japantimes.co.jp/sports/feed/
東洋経済オンライン - https://toyokeizai.net/list/feed/rss (*1)
NHKオンライン
・主要ニュース - https://www3.nhk.or.jp/rss/news/cat0.xml
・社会 - https://www3.nhk.or.jp/rss/news/cat1.xml
・科学・医療 - https://www3.nhk.or.jp/rss/news/cat3.xml
・政治 - https://www3.nhk.or.jp/rss/news/cat4.xml
・経済 - https://www3.nhk.or.jp/rss/news/cat5.xml
・国際 - https://www3.nhk.or.jp/rss/news/cat6.xml
・スポーツ - https://www3.nhk.or.jp/rss/news/cat7.xml
・文化・エンタメ - https://www3.nhk.or.jp/rss/news/cat2.xml
CNET Japan
・総合 - http://feeds.japan.cnet.com/rss/cnet/all.rdf
・プレスリリース - http://feeds.japan.cnet.com/rss/cnet/release.rdf
・ブログネットワーク - http://feeds.japan.cnet.com/rss/cnet/blog.rdf
・デジタル製品 - http://feeds.japan.cnet.com/rss/cnet/digital.rdf
BLOGOS - http://blogos.com/feed/article_recent/
Newsweek Japan
・最新ニュース(ロイター速報) - https://www.newsweekjapan.jp/headlines/rss.xml
・最新記事(NewsweekオリジナルのWeb独占記事、雑誌特選記事) - https://www.newsweekjapan.jp/story/rss.xml
・コラム&ブログ - https://www.newsweekjapan.jp/column/rss.xml
・Picture Power - https://www.newsweekjapan.jp/picture/rss.xml
・From the Newsroom - https://www.newsweekjapan.jp/newsroom/atom.xml
AFPBB News
・総合新着ニュース - http://feeds.afpbb.com/rss/afpbb/afpbbnews
・総合アクセスランキング - http://feeds.afpbb.com/rss/afpbb/access_ranking

(*1) 東洋経済オンラインでは、全文が表示されるプリント用ページを取得するため、Pythonレシピに以下の三行を追加しています。
def print_version(self, url):
return url.replace('https://toyokeizai.net/articles/-/', 'https://toyokeizai.net/articles/print/')
return url.replace('?utm_source=rss&utm_medium=http&utm_campaign=link_back', '')

2018年04月21日

calibreに導入するプラグイン

hatakazuは基本的にcalibreを使って電子書籍を管理していますが、おもな使用目的は、koboデスクトップアプリにダウンロードしたkobo版電子書籍のDRMを解除してほかのかたちで利用できるようにすることと、日本語と英語のニュースを取得してkobo auraへ送って情報収集および英語学習に供することです。
それを実現するために、Ubuntu上でcalibreを走らせるとともに、UbuntuにWineを導入してWindows版koboデスクトップアプリをインストールし、LinuxネイティブのcalibreとWindows版koboデスクトップアプリの連携をとっています。
koboデスクトップアプリにダウンロードしたkobo版電子書籍をDRM解除してcalibreライブラリに取りこんだり、取得したニュースをkobo auraで読めるkepubファイルに変換したりするためには、calibreにいくつかプラグインを登録しないといけません。

現時点でインストールしてあるプラグインのリスト

「新しいプラグインを取得」からインストールする
KoboTouchExtended
KePub Input
KePub Output
KePub Metadata Writer
KePub Metadata Reader

「ファイルからプラグインを読み込む」からインストールする
Obok DeDRM (※)

※hatakazuの環境では「Obok DeDRM」は標準のままでは動作しないので、WineでWindows版koboデスクトップアプリを走らせていることを念頭に、いったんダウンロードしたプラグインファイルに対していくつか書き換えをおこなう必要があります。
電子書籍をダウンロードする「kepub」フォルダがおかれている「self.kobodir」をLinuxパスで指定してやることと、MACアドレスを取得するコマンドをWindows版koboデスクトップアプリにあわせて「wine ipconfig /all」に変更することで、LinuxネイティブのcalibreからWindows版koboデスクトップアプリでダウンロードしたkobo版電子書籍を取りこめるようになります。

2018年04月19日

calibreでkobo版電子書籍を管理する、その2

昨日の続きで、Linuxネイティブで走らせているcalibreとWine上にインストールしたkoboデスクトップアプリとの連絡をとり、Wine上のkoboデスクトップアプリでダウンロードしたkobo版電子書籍をcalibreで管理できるようにしたい、という話です。
calibreを起動して「Obok DeDRM」ボタンを押下すると、「koboデスクトップアプリがインストールされてないのでは?」というエラーが出ます。
つまり、Linuxネイティブで走らせているcalibreがWine上にインストールされているkoboデスクトップアプリ(ひいてはそれを使ってダウンロードしたkobo版電子書籍)を認識できていない、ということです。
koboデスクトップアプリでは、「C:\Program Files\Kobo\fonts\kepub」ディレクトリにダウンロードした電子書籍を保存しますが、このkepubフォルダがある場所「C:\Program Files\Kobo\fonts」のことを、「obok_plugin.zip」プラグインファイルの「obok.py」ファイルでは「self.kobodir」と定義しています。
そうであれば、「self.kobodir」として明示的に上記の場所を指定してやればいい、ということになります。
ただし、「C:\Program Files\Kobo\fonts」はWine上の場所表記なので、Linuxネイティブで走っているcalibreには同じ場所のLinux表記「~/.wine/drive_c/Program Files/Kobo/fonts」を渡してやる必要があります。
具体的には、「obok.py」ファイルのしかるべき場所に、以下の二行を追加します。

elif sys.platform.startswith('linux'):
self.kobodir = "~/.wine/drive_c/Program Files/Kobo/fonts"

あらためて「obok_plugin.zip」ファイルをプラグインとして登録し、「Obok DeDRM」ボタンを押してみましたが、今度は「解号化に必要なuserkeysが見つからない」というようなエラーが出ます。
ここでuserkeysを生成するために必要なのはMACアドレスで、「obok.py」ファイルではそれを取得するために「ipconfig /all」コマンドを実行していますが、これはWine上で実行するための「wine ipconfig /all」でなければなりません。
そのため、このコマンドを指定してある行を、次のように書きかえます。

"for line in os.popen('ipconfig /all'):" -> "for line in os.popen('wine ipconfig /all'):"

もう一度「obok_plugin.zip」ファイルをプラグインとして登録しなおし、「Obok DeDRM」ボタンを押してみると・・・。
ようやくkoboデスクトップアプリでダウンロードしたkobo版電子書籍を、DRM解除されたepub形式で、calibreのライブラリに登録することができました。
DRM解除さえできてしまえば、あとはepub形式のファイルをかなり自由に変換して、さまざまなかたちで利用することができるようになります。
もっとも有力なのは、やはりPDFファイルにしてしまうことで、そうすればデバイスの種類を選ばず利用できます。
calibreでも、登録したepubファイルをそのままPDFファイルに変換できますが、この用途には「ChainLP」というツールが便利です。

http://no722.cocolog-nifty.com/blog/2013/02/chainlp-v040-17.html

上記URLから「ChainLP40b17.zip」をダウンロードし、任意の場所で解凍して、「ChainLP.exe」を実行します。
ただし、このプログラムを実行するためには「.NET Framework 4.0」ランタイムライブラリが必要になるため、あらかじめ「winetricks」を起動して「dotnet40」パッケージをWineにインストールしておきます。

$ wine ChainLP.exe


参考ウェブページ一覧表(順不同)

https://calibre-ebook.com/download
https://github.com/apprenticeharper/DeDRM_tools/tree/master/Obok_calibre_plugin
https://github.com/apprenticeharper/DeDRM_tools/blob/46ce2ce0ea1f0acdaa6af8f4d704d1a3cc964285/Obok_calibre_plugin/obok_plugin.zip
https://github.com/apprenticeharper/DeDRM_tools/issues/337
http://no722.cocolog-nifty.com/blog/2013/02/chainlp-v040-17.html
http://nlogn.ath.cx/archives/001871.html
http://wp.developapp.net/?p=2575