2021.09.24

Naro2mobi ver3.2プレリリース版

[ver3.2での変更点]

  1. 外部ダウンローダーでダウンロードしたWeb小説の表紙や挿絵をmonimobiファイルに挿入出来る機能を追加した。また、この機能追加に合わせていくつかのオプション設定を修正した。尚、ダウンロードした挿絵のサイズが長辺で1280ピクセルを超えているものは全て1280ピクセルに縮小して保存します。
  2. スタイルシートを一部変更しました。尚、この変更に合わせてタイトル、大見出し、中見出しのフォントをゴシック太字に変更した。もし従来どおりの明朝体が良ければ、CSSファイルに同梱のkimdle2.cssを指定して下さい。
  3. 外部ダウンローダー用の定義ファイルExtDLoader.txtのフォーマットを変更した。
  4. 予期しないエラーでNaro2mobiを終了出来なくなる場合があったことに対するタフネス性をアップさせた。実行中の予期せぬエラーで終了できなくなった場合、「中止」ボタンを少し間隔を開けて2回押すことで終了出来るようにした(完璧ではない)。

 

[追加・変更したオプション]

Location

「入力ファイルと同じフォルダにcover.jpgまたは表紙.jpgがあれば表紙とする」オプションを追加しました。

これをONにすれば、外部ダウンローダーでダウンロードされたテキストファイルに[#表紙の図(表紙画像のURL)入る]タグがあれば、その表紙画像をダウンロードして作成するmobiファイルの表紙として使用します。

Gen1
「挿絵があればDLして埋め込む」をONにすれば、その挿絵をダウンロードしてmobiファイルに挿入します(外部ダウンローダーの場合は[#リンクの図(挿絵のURL)入る]タグに対する処理を行います)。

「挿絵があればリンクを挿入する」をONにすれば、その挿絵のリンクURLをmobiファイルに挿入します(外部ダウンローダーの場合は[#リンクの図(挿絵のURL)入る]タグに対する処理を行います)。

「URLリンクがあればリンクを挿入する」をONにすれば、外部ダウンローダーで挿入された[#リンク(リンクURL)入る]タグに対してリンクURLをmobiファイルに挿入します。

Text

 

テキストオプションを整理しました。目次を作成するで「青空文庫形式」を選択していれば、テキストファイルを青空文庫形式として処理します。

 

ダウンロード - naro2mobi320.zip

 

[使い方]

  1. 最初にver3.0正式版をインストールして下さい。
  2. naro2mobi320.zipを解凍した全てのファイルをver3.0をインストールしたフォルダに上書きして下さい。
  3. いづれかの外部ダウンローダーを使用する場合は、必ず「最新版」をダウンロードしてer3.0をインストールしたフォルダに上書きして下さい。

今回のアップデートで、表紙画像が設定されていたり挿絵が挿入されている小説であれば表紙画像や挿絵入りのmobiファイルを作成できるようになりましたが、表紙画像や挿絵を挿入する場合にはそれらの画像の著作権に留意して下さい。

 

 

[ぼやき]

挿絵をダウンロードする処理ですが、URL上の拡張子がPNGファイルとなっているのに画像ファイルの実態がJPGファイルだったり、逆に拡張子がJPGなのに中身がPNGだったりと、中々凶悪な画像ファイルが存在していたりして予期せぬエラーが頻発したため、画像ファイルのヘッダー部分を読み込んでファイル形式を確認するはめになりました。

もしかするとまだ予期しない問題が発生するかも知れませんので、その際はコメント欄に書き込んでいただければと思います。

 

 

| | コメント (0)

2021.07.29

Naro2mobi ver3.11

ノベルバ小説ダウンローダーver1.2の「#水平線」タグに対応しました。

 

ダウンロード - naro2mobi311.zip

 

尚、ノベルバ小説ダウンローダーを使用しない方はダウンロード不要です。

 

 

| | コメント (0)

2021.07.28

Naro2mobi ver3.1

カクヨムの小説本文に傍点装飾があることがわかり青空文庫の「#丸傍点」~「#丸傍点終わり」タグ付けを追加したため、Naro2mobiのテキストファイル処理に傍点装飾処理を追加しました。
またその他に、

  • HTML特殊文字の変換順序がまずく、誤変換する場合があった不具合(&を先に&に変換する順序が後ろになっていたため一旦<などと変換したものを&lt;と変換してしまい<がlt;等と表示されてしまっていた)を修正
  • Web小説ダウンロード処理中にクリップボード監視でダウンロードリストにURLを追加すると、その後メイン画面に戻らないまま次のダウンロード処理を継続してしまう不具合を修正

しました。

ダウンロードしたzip書庫ファイルから展開したNaro2mobi.exeをNaro2mobiをインストールしたフォルダに上書きして下さい。

 

ダウンロード - naro2mobi310.zip

 

それにしても、小説家になろう以外のWeb小説サイトの小説をダウンロードしてみるとそれぞれのサイト毎に違いがあって、しかも実際にそれらの違いに出会って初めて違いに気づくこと言うことが続きそうです。 

 

 

| | コメント (0)

2021.07.20

Naro2mobi Ver3.0公式版を公開しました

Naro2mobi本体やヘルプファイルの内容を調整していたら公開が1日伸びてしまいましたが、私のホームページ上で公開しましたのでお知らせします。

Narouexec

 

Ver3.0での変更点等は添付のヘルプファイルを参照して下さい。

 

 

| | コメント (0)

2021.07.18

Naro2mobi Ver3.0公式版公開の予告

ここのところ外部ダウンローダーをつくったり色々とゴニョゴニョやっていたNaro2mobiですが、修正作業もほぼ終わって現在ヘルプファイルの更新作業を行っています。

うまくいけば明日には公式版を公開出来るものと思いますので予告しておきます。

Naro2mobi3

 

尚、今回のバージョンではHTMLダウンロードをIndyのIdHTTPからWinINetに変更したため、小説家になろうだけでなく18禁サイトになるノクターン、ミッドナイト、ムーンライトノベルズからのダウンロードも出来るようになりました。

指定されたURLが上の18禁系だった場合(URLがhttps://novel18.syosetu.com/の場合)には、

InternetSetCookie(PWideChar(URL), PWideChar('over18'), PWideChar('yes'));

をコールしてCOOKIEにover18=yesをセットすると18歳以上かどうかの確認ページにリダイレクトされることなくダウンロード出来るようになるようです。

 





 

| | コメント (0)

2021.07.03

Naro2mobi ver2.31 + alphadl ver1.5 + novelupdl ver1.3 + kakuyomudl ver1.2

Naro2mobi ver2.31

外部ダウンローダー起動時に小説のタイトル名と作者名を表示し、ダウンロード中の状況をNaro2mobiに表示させるようにしました。また、外部ダウンローダーとKindleGenの実行中に処理を中止出来るようにしました。

Naro2mobi2311_20210703150601Naro2mobi2312_20210703151001


alphadl ver1.5, kakuyomudl ver1.2

Naro2mobiから起動した場合にNaro2mobi側に実行状況を送るようにしました。

尚、alphadl, kakuyomudlをコマンドラインから直接起動した場合の動作に変更はありません。

 

novelupdl ver1.3

上記の変更に加えて、小説本文のダウンロード結果がすべて第一話になってしまっていた不具合を修正しました。

 

ダウンロード - naro2mobi231.zip

 

ダウンロード - alphadl15.zip

 

ダウンロード - novelupdl13.zip

 

ダウンロード - kakuyomudl12.zip

 

 

 

 

 

 

| | コメント (0)

2021.07.01

Naro2mobi ver2.3試作版(アルファポリス、ノベルアップ+、カクヨム対応)

Naro2mobiでalphadl, novelupdl, kakuyomudlを外部ローダーとして用いることで、アルファポリス、ノベルアップ+、カクヨムからのダウンロード+mobiファイル作成に対応したものを試作しましたのでアップします。

  • この試作版は私自身でも動作確認しきれていないため、何らかの不具合が潜んでいる可能性があります。不具合があることを承知の上でそれでも使ってみたいという方だけ使用してみて下さい。

 

尚、アルファポリス、ノベルアップ+、カクヨムのダウンロードに対応するためには、それぞれalphadl.exe, novelupdl.exe, kakuyomudl.exeをこの試作版Naro2mobiを保存したフォルダにコピーして下さい。

Naro2mobiと同じフォルダにこれらのダウンローダーがあれば、アルファポリス、ノベルアップ+、カクヨムの小説トップページのURLをメインページのURLまたはダウンロードリストにセットすることで、それぞれのダウンローダーを起動して小説をダウンロードしてmobiファイルを作成してくれます。

 

Naro2mobi231_20210701155901Naro2mobi232_20210701155901

  

 

ダウンロード - naro2mobi23.zip

 

尚、ver2.3でのその他の変更点ですが、KindleStripによるmobiファイルのダイエット機能を削除しています。こちらはKindelGenの起動オプションに「-dont_append_source」をつけることで代替えできます。また、その他にもいくつか修正したところがあったはずですが忘れてしまいました・・・

 

 

| | コメント (0)

2021.06.16

作成したmobiファイルをKindle Previewer 3で開くことが出来ない要因

Prverr

KindleGenで作成したmobiファイルを最新のKindle Previewer 3(3.5.1.0)で開こうとするとエラーとなる問題ですが、その要因がわかったのでメモしておきます。

 

上記エラーが起こる要因:

mobiファイルを作成する際に、KindleGenのオプションとして「-dont_append_source」を指定して文書ソースを削除した、もしくはkindkestrip.pyもしくはKindle Previewer 3付属のstriptool.exeを用いて、作成したモmobiファイルから文書ソースを削除した場合にエラーが発生します。
尚、mobiファイルの圧縮モード(-c0/-c1/-c2)は影響しません。
 

原因は不明ですが、おそらくKindle Previewer 3がプレビューを作成するためにmobiファイル内の文書ソースにもアクセスする必要があるのではないかと思います。

 

私の場合はnaro2mobiで作成したmobiファイルをKindle Previewerでプレビューすることは殆どないので上記の問題は気になりませんが、気になる方はmobiファイル作成時に文書ソースを削除しないようにしましょう。

 

 

| | コメント (0)

2021.05.27

アルファポリス小説のダウンロード

拙作Naro2mobiは「小説家になろう」の小説をダウンロードしてKindle用のmobiファイルを作成するためのツールですが、その名の通り「小説家になろう(小説を読もう)のダウンロードにしか対応していません。

とはいっても、Naro2mobiはテキストファイルの入力にも対応しているため、他のツールを使用してダウンロードしたWeb小説もmobiファイル化することが出来ます。また、一部の青空文庫形式のタグにも対応しているので、章・話の分離やルビの表現も可能です。

それで個人的に興味深そうなWeb小説サイトである「カクヨム」と「アルファポリス」の小説をダウンロード出来るWindows用のツールを探したところ、yama-natuki氏がGitHubで公開しているalpha-novel-dlkakuyomu-dlを見つけました。どちらもダウンロードした小説を青空文庫形式のテキストファイルに保存してくれます。

どちらもLinux環境のperlで作られており、Windowsでも動作するようにはしてあるがテストはしていないとの記述があります。で、私はWinddowsで動かすためにStrawberry Perl964bit)環境を入れて確認した所、どちらもWindows上での動作に問題はありませんでした(動作に必要なperlライブラリがあるためそれらのインストールが必要です)。

それぞれの確認結果ですが、

kakuyomu-dl.plはカクヨムからの小説ダウンロードが可能でした(ただし、URLの小説IDが19桁であることをチェックしているためIDが20桁のものもダウロード出来るように修正が必要でした)。

alpha-novel-dlは残念ながら目次と各話タイトル名はダウロードされるものの本文の取得ができませんでした。

もう少し調べてみると、AozoraEpub3をフォークしたalphapolis対応版を見つけることが出来たのですが、確認したところではこちらも小説本文を取得することが出来ませんでした。

 

そこでアルファポリスから小説をダウンロードするとどういった状態になるのか自力で確認してみました。

その結果わかったことですが、

まずは、アルファポリスの各話のページはWebブラウザ上からソースファイル表示やページ保存等のコマンドにアクセス出来ないようになっていることがわかりました。

一方、WinINet APIを使用して直接各話毎のページを取得していくと、最初は正常に取得できるものの20話以降の本文が取得出来なくなる(ページ自体は取得できるが本文がない状態になる)。また、そのまま各ページを取得していくと、途中から本文を取得出来るようになったり出来なくなったりする。ということがわかりました。途中からまた本文を読めるようになったりしているので、20話ダウンロード毎にインターバルタイムを設定したりもしましたが状況は変化なしでした。

前出のalpha-novel-dlやAozoraEpb3アルファポリス対応版が本文を取得出来なかったのは、もしかするとこの事象が原因なのかもしれません。

 

そこで気持ちを入れ替えて今度はIndyライブラリのIdHTTPを用いて各ページ取得を行ってみたところ、今度は見事全話の本文を正常に取得出来るようになりました。

ということで、カクヨムはkakuyomi-dl.plで小説をダウンロード出来るので、ターゲットをアルファポリスに限定したコマンドライン用ダウンロードツール試作版を作成してみました。

コマンドプロンプトを開いて、alphadl アルファポリス小説トップページURL [保存するファイル名]と入力すれば自動的に指定したURLの小説をダウンロードして、青空文庫形式のテキストファイルに保存します。尚、保存するファイル名を省略すると,alphadl.exeがあるフォルダに「ダウンロードした小説のタイトル名.txt」でファイルを保存します。

※当然のことですが「レンタル」部分はダウンロード出来ません。

青空文庫形式への変換ですが、タイトル名、作者、章、話とあらすじ、本文内のルビだけが対象です。また、本文内のルビ以外のHTMLタグは無視しますので、そのまま本文として保存されます(埋め込み画像のリンクもそのまま残されるので、naro2moniでmobiファイル化すると画像ファイルのリンクがそのまま埋め込まれます)。

尚、想定外のHTMLタグが存在している場合、mobi化した後で予期しない動作が起こる可能性がありますのでご承知おき下さい。

また、あくまでも試作版なので小説が正常にダウンロード出来ないこともあるかと思います。その際は「まぁこんなもんだよね」と笑ってやって下さい。

 

Alphadl

 

で、保存されたテキストファイルをNoro2mobiのテキストオプションを以下のように設定して、

Naro2mobi

 

メインタブのURLに保存したテキストファイルをドラッグ・アンド・ドロップして実行すればKindle用のmobiファイルが出来上がります。

 

ダウンロード - alphadl.zip

 

あとはこれをNaro2mobiにマージするかどうかですが、個人的にはこのままでも十分なのである程度不具合を潰すまではこのままだと思います。

 

 

 

| | コメント (0)

2021.03.08

KindleGen.exe終了?

いつのまにかAmazonのKindleGen.exeがダウンロード出来なくなっていました。どうやらKindleGen.exeの公開を終了してしまったようです。

Kindlegenmsg

Kindle PreviewerがKindleGen.exeと同じ機能を提供するので代わりに使ってねとあります。

確認したところ、Kindle Previewer 3.exeをコマンドラインで起動することでKindleGen.exeと同等のことが出来ることがわかりました。

※Kindle Previewerをインストールすると標準で「C:\User\ユーザ名\AppData\Local\Amazon\Kindle Previewer 3」フォルダに「Kindle Previewer 3.exe」がインストールされているので(AppDataフォルダはフォルダーオプションの「隠しファイル、隠しフォルダーおよび隠しド雷雨を表示する」をONにしないと見ることが出来ません)、コマンドプロンプトを開いてコマンドラインから以下のように実行すればKindleGen.exeと同等のmobiファイル変換が出来ます。

"C:\User\ユーザ名\AppData\Local\Amazon\Kindle Previewer 3\Kindle Previewer 3.exe" "変換するファイル名(*.opf等)" -convert -locale ja

但し、KindleGen.exeでは指定できた圧縮オプション(-c0, -c1, c2)やソースファイルを添付しないオプション(-dont_append_source)の指定は出来ず、ファイルの圧縮は-c1固定となるようです。

 

更に調べてみると、実はKindle Previewer 3.exeが直接ソースファイルをmobiファイルに変換しているわけではなく、Kindle Previewerをインストールしたフォルダ内の「C:\Users\ユーザ名\AppData\Local\Amazon\Kindle Previewer 3\lib\fc\bin」フォルダ内にKindleGen.exeがあって、Kindle Previewer 3は内部でこのKindleGen.exeを呼び出してmobiファイル変換していることがわかりました(これはbinフォルダ内のKindleGen.exeの名前を変更してKindle Previewer 3からmobiファイル変換すると失敗することでわかりました)。

で、このKindleGen.exeなのですが、元々単体で公開されていたKindleGen.exeと比べてみると、

単体で公開されていたKindleGen.exe

Kindlegen_std

 
Kindle PreviewerにバンドルされているKindleGen.exe

Kindlegen_new

とバージョンは同じ2.9であるものの、ビルド番号と作成年度が違っていて、Kindle Previewerバンドルのものの方がビルド年度が新しくなっており、ファイルサイズも若干違っています。

 

ということで、このふたつのKindleGen.exeの動作比較をして見ました。

また、「C:\Users\ユーザ名\AppData\Local\Amazon\Kindle Previewer 3\lib\fc\bin」フォルダ内には「striptool.exe」というコマンドラインツールもあって、こちらは作成されたmobiファイルからソースファイルを削除(取り出す)する機能を提供しているようです。ということで、-dont_append_sourceオプション、kindlestrip.pyによるソースファイル削除と共に合わせて確認してみました。

 

尚、確認のための入力ソースは小説家になろうで柗本保羽さんが公開されている「銀河連合日本」を使用させていただきました(スペースオベラ好きの方にはおすすめの作品です)。

結果

  ノーマル変換(-c1) -dont_append_source kindlestrip.py striptool.exe
(KPV:Kindle Previewer) ファイルサイズ Preview ファイルサイズ Preview ファイルサイズ Preview ファイルサイズ Preview
単体配布のKindleGen.exe 30,205,510 19,750,645 19,721,441 19,750,589
KPVバンドルのKindleGen.exe 31,268,856 20,814,088 20,784,884 20,813,936
KPVコマンドラインでの変換 31,245,480 --- 20,784,948 20,790,560

 

わかったこと

  1. Kindle Previewer 3バンドルのKindleGen.exe(以降バンドル品と略)は、今まで単体配布されていたKindleGen.exe(以降、単体と略)とコマンドラインオプションも含めて互換性がある
  2. 単体とバンドル品ではmobiファイルの出力サイズが若干異なる
  3. Kindle Previewer 3をコマンドラインから使用した際の出力サイズはバンドル品の出力サイズと若干異なる
  4. Kindel Previewer 3(3.51)でのプレビューは単体でノーマル変換したもの以外はエラーとなって表示できない(以前のバージョンではソースファイルを削除したmobiファイルも表示d系ていたので、これはVer3.51の問題と思われる)。というか、自分自身がバンドルしているKindleGen.exeで変換したmobiファイルを表示出来ないというのはいかがなものかと思う
  5. 上記すべてのmobiファイルはWindows版Kindleで正常に表示出来たため、ファイルサイズが微妙に違うことはあるものの、全て正常なmobiファイルであると思われる

 

結論

今後KindleGen.exeが必要な方は、AmazonのサイトからKinlde Previewer 3を入手してインストールして、インストールしたフォルダからコピーするなりして使用しましょう。

※Linuxユーザの方の場合はKindleGen単体の公開が終了してしまったため困ってしまうかも知れません。私がWSL2 ubuntu20.04で確認したところでは、wineを導入して「wine kindlegen.exe -c1 -locale ja opfファイル名」で実行することでmobiファイルを作成することが出来ましたので、Linuxでも何とか工夫すればどうにかなるのかも知れません。

 

 

striptool.exeについて

コマンドラインから

striptool "mobiファイル名"として実行すると、ユニークなサブフォルダが作成されて(3301664558等)、そのサブフォルダ内にソースファイルが削除されたmobiファイルと削除したソースファイルのzip書庫ファイルが作成されます。

kindlestrip.pyはPython環境をインストールする必要があるため、事前準備なしに使用出来るstriptool.exeの方が使い勝手が良いかも知れません。

 

 

| | コメント (0)