iArt.ai
AI 모션 그래픽 소프트웨어, 누구나 사용할 수 있는 After Effects 대안, 텍스트 프롬프트로 몇 분 안에 애니메이션·설명 영상 제작
ダウンロード AozoraEpub3-JDK21, 아오조라문고 텍스트를 EPUB 3.3으로 변환
AozoraEpub3-JDK21は青空文庫テキストをEPUB 3.3に変換するツールです。Java 21〜26対応でWindows・macOS・Linux上で動作。GUIとCLIの両モード搭載、縦書き・ルビ・外字・画像に対応。narou.rb連携やEpubCheck 5.x検証もサポート。最新版はこちら。
미디어Java · JavaScriptGitHub @AozoraEpub3-JDK21온라인운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
Java 21 対応版 AozoraEpub3 - 青空文庫テキストを EPUB 3 に変換
저장소 README에서 가져옴
README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
Read this in other languages: English (Auto-translated by your browser) 青空文庫の注記入りテキストファイルを EPUB 3 ファイルに変換するツールです。 正規配布について: このプロジェクトの正規配布物は GitHub Releases のみです。 各リリースには SHA-256 チェックサム・GitHub artifact attestation を添付しています。 検証方法は VERIFY.md を参照してください。 非公式フォークや再配布物は、同名であっても正規版とは限りません。 このプロジェクトは hmdev/AozoraEpub3 を元に、Java 21対応および narou.rb での利用を目的として改変したものです。 • 元プロジェクト: hmdev/AozoraEpub3 • ライセンス: GPL v3(元作者に帰属) • 目的: narou.rb との連携、Java 21 への対応 • AozoraEpub3 の再配布・改変には GPL v3 が適用されます(元作者に帰属)。README 전문 보기 ↗
Java 21〜26対応 / Gradle対応版
[!NOTE] Read this in other languages: English (Auto-translated by your browser)
青空文庫の注記入りテキストファイルを EPUB 3 ファイルに変換するツールです。
[!IMPORTANT] 正規配布について: このプロジェクトの正規配布物は GitHub Releases のみです。 各リリースには SHA-256 チェックサム・GitHub artifact attestation を添付しています。 検証方法は VERIFY.md を参照してください。 非公式フォークや再配布物は、同名であっても正規版とは限りません。
このプロジェクトは hmdev/AozoraEpub3 を元に、Java 21対応および narou.rb での利用を目的として改変したものです。
ファイルまたは URL をドラッグ&ドロップすると EPUB に変換します。
変換した EPUB は、リーダーアプリに移す前にブラウザでそのままプレビューできます。
縦書き・ルビ・段組・目次を実機に近い形で確認できます。
画面例は青空文庫の『銀河鉄道の夜』(宮沢賢治、著作権保護期間満了)を変換したものです。 画像は配布パッケージからも参照できるよう GitHub 上の絶対 URL で読み込んでいます。
Java 21以降 が必要です(Java 25 LTS まで動作確認済み)。
./gradlew -PjavaToolchainVersion=26 jar で JDK 26 toolchain によるビルドも可能です。Java をお持ちでない場合は、Adoptium から Java 25 LTS をダウンロードしてください。
最新版は GitHub Releases から取得できます。
配布パッケージには以下が含まれます:
.exe / .sh)template/)presets/)gaiji/)Windows(ZIP):
AozoraEpub3-1.7.6-jdk21.zip
Linux/macOS(TAR.GZ):
AozoraEpub3-1.7.6-jdk21.tar.gz
Unblock-File .\AozoraEpub3-*.zip でも同じ)。これをしてから展開すると、.exe 起動時の SmartScreen 警告を回避できます(理由と詳細)AozoraEpub3.exe をダブルクリック(推奨)AozoraEpub3.sh を実行java -jar AozoraEpub3.jar注意: Windows 11では .jar ファイルのダブルクリックが動作しないことがあります。その場合は .exe ファイルをご利用ください。
開発版の場合は以下の手順でビルドしてください:
git clone https://github.com/AozoraEpub3-JDK21/AozoraEpub3-JDK21.git
cd AozoraEpub3-JDK21
./gradlew dist
# build/distributions/ に配布パッケージ(zip / tar.gz)が生成されます
重要: distZip タスクは無効化されています。配布パッケージの生成には必ず dist を使用してください。
ビルドタスク詳細:
./gradlew jar: FAT JAR を生成(build/libs/AozoraEpub3.jar、依存関係込みの単一JAR)./gradlew dist: 配布パッケージを生成(ZIP / TAR.GZ、JAR + スクリプト + ドキュメント + テンプレート)【推奨】./gradlew test: テスト実行./gradlew dependencyUpdates: 依存ライブラリの更新候補をレポート依存ライブラリ更新(開発者向け):
./gradlew dependencyUpdates.jar ファイルのダブルクリックが無反応になる場合があります。配布パッケージに同梱の AozoraEpub3.exe の使用を推奨します。[# が注記として読まれる件を修正。話の題・章の題の数字は narou.rb と同じ形になる(前の版と見た目が変わる)RELEASE_NOTES.md𢌞 などは端末フォントに無いと ? や □ になる。有効にすると 〓(「廴+囘」) のように何の字か分かる形で出力する。既定は無効で、設定しない限り出力は従来と 1 バイトも変わらない。ini キーは GaijiFallback / GaijiFallbackLevel / GaijiFallbackCode、GUI は「スタイル」タブの「外字」欄。1 文字フォント(gaiji/*.ttf)が登録されている文字は置き換えない※[#半濁点付き平仮名か、1-4-87] のように 2 文字に変換される字は、同梱の濁点フォント(DakutenType=2)や CSS 合成で表示できるので、対で出せるなら抑止しない。出せない場合も対ごと注記表示にするので 〓 と濁点が分かれることはないdocs/gaiji-settings.md)。あわせて公開ドキュメント全 12 ページの誤った記述(電書協ガイドのリンク先、テンプレートのパス、Web 取得のレート制限、クラス名など)を修正--check-update。自動更新・起動時の自動チェックはありませんTitlePage が「中央」のままになっていました。同じ原因で「スタイル」タブの余白パネルが 1 つに合体していた表示崩れと、@page の余白が不正な CSS になる問題も修正presets/kobo_glo.ini などを -i で渡すと margin: 00 0.50 00 00 が出力されていましたAutoPreview=1(GUI のチェックボックス)で、narou.rb / narou.rs からの変換でも完成した EPUB がブラウザで開きます(別プロセスで開くため呼び出し側は止まりません)AutoMarginNombreSize が反映されず AutoMarginPadding が壊れていた問題--preview / --libraryUiTheme または画面右上のコンボで切替-url に zip / txtz / rar の URL を渡すとダウンロードしてそのまま変換href に注記記法([#縦中横] 等)が混入し、リンクを開けなくなっていた既存バグを修正<img> を修正: 表題行の画像外字で参照先の画像が無い場合に <img src="null"/> を出力し、epubcheck が reject する EPUB になっていた既存バグを修正0 → 1 に変更。あわせて出力途中の壊れた .epub は削除されます。narou.rb 連携では、これまで「成功」として取り込まれていた破損 EPUB が失敗として扱われます(意図した変更).NET ポートの byte-identical 比較テスト 5/5 PASS)JApplet 削除に加え、JUnit 4 の test detection を整備)。配布物は Java 21 ターゲットでビルド (class file version 65) のため、JDK 21 LTS〜JDK 26 のいずれの環境でも動作しますjava.io.File → java.nio.file.Path 移行、java.time API 採用、空 catch ブロック 133 occ の意図コメント整備dcterms:modified が仏暦圏(タイ等)・日本和暦ロケール環境で EPUB 3.3 仕様違反になる問題を修正BookInfo 等の公開フィールドで Vector → ArrayList に変更。バイナリ互換性のため、外部ライブラリとして AozoraEpub3 を使うコードは要再コンパイルJApplet 継承を撤去(JPanel ベースに変更)。mainClass / CLI エントリ / narou.rb 連携への影響なし-url オプション、サブタイトル漢数字変換の完全修正アプリケーション起動
AozoraEpub3.exe をダブルクリック(推奨)AozoraEpub3.sh を実行java -jar AozoraEpub3.jarファイル指定
.txt または .zip)をドラッグ&ドロップ設定調整(オプション)
変換実行
Web小説サイトのURLまたはURLショートカット(.url)をドラッグ&ドロップで取得・変換できます。(web/ 以下に定義ファイルがあるサイトのみ)
対応サイト: 小説家になろう / 小説家になろう R18 / カクヨム / 暁 / novelist.jp / FC2小説 など(ハーメルンは Cloudflare の確認画面で止められるため、今は変換できません)
narou.rb互換 フォーマット設定: GUIメニューから「Web小説設定」を開くと、以下の項目を設定できます:
| 設定項目 | 説明 | 初期値 |
|---|---|---|
| 更新日時を各話に表示 | 各話の最終更新日時を本文末に表示 | OFF |
| 初回公開日を各話に表示 | 改稿済の話の初回公開日を表示(更新日時と別行) | OFF |
| 前書き・後書きの自動検出 | *44/*48 個パターンで前書き・後書きを検出 | ON |
| 自動行頭字下げ | 行頭の字下げを自動挿入 | ON |
| 改ページ直後の見出し化 | 改ページ後の最初の行を見出しとして処理 | ON |
| 空行圧縮 | 連続空行を圧縮 | ON |
| 漢数字変換 | アラビア数字を漢数字に変換 | ON |
| 英字全角化 | 短い英単語を全角に変換 | ON |
| 読了表示 | 末尾に読了マークを表示 | ON |
| かぎ括弧内自動連結 | かぎ括弧内の行を自動連結 | ON |
| 行末読点自動連結 | 読点で終わる行を次行と連結 | ON |
設定は setting_narourb.ini に保存され、narou.rb の setting.ini とキー互換があります。
注意事項:
[著作者名] 表題.epub 形式のファイル名から取得.png / .jpg)を表紙に設定| 拡張子 | 対応デバイス | 説明 |
|---|---|---|
.epub | 標準 | 標準的な EPUB 3.3 準拠形式(EPUB 3.2後方互換) |
.kepub.epub | Kobo | Kobo向け拡張形式 |
.fxl.kepub.epub | Kobo | Kobo固定レイアウト用 |
.mobi | Kindle | Kindle形式(kindlegenjの別途インストール必要) |
変換時のログに表示される以下の内容は、元のテキストを修正することをお勧めします:
青空文庫の注記仕様で定義された外字は自動変換します:
※[#「字名」、U+XXXX] → UTF-8に変換
※[#「字名」、第X水準X-XX-XX] → UTF-8に変換(対応表利用)
対応コードが無い外字は代替文字で出力します。
Koboなど一部の端末では、4バイト文字(絵文字など)が行内で表示されない制限があります。設定で「4バイト文字変換」を無効にすると、4バイト文字を代替文字「〓」で表示し、小書きで元の字を注記として表示します。
GUIを起動せずにコマンドラインで直接変換実行するには、入力ファイルを引数として指定します。
# GUI起動(引数なし)
java -jar AozoraEpub3.jar
# 入力ファイルを指定(CLI実行)
java -jar AozoraEpub3.jar [オプション] 入力ファイル
| 実行方式 | 用途 | コマンド |
|---|---|---|
| GUI | 対話的な操作(推奨) | java -jar AozoraEpub3.jar |
| CLI | バッチ処理・スクリプト化 | java -jar AozoraEpub3.jar -d out input.txt |
| オプション | 説明 | 例 |
|---|---|---|
-h, --help | ヘルプを表示 | |
-cu, --check-update | 最新バージョンを GitHub で確認し、更新があればダウンロードページを案内(自動更新はしません) | |
-i <ファイル> | INI設定ファイルを指定 | -i settings.ini |
-enc <エンコード> | 入力ファイルのエンコード(既定 MS932) | -enc UTF-8 |
-t <種別> | 本文内の表題種別(0:表題→著者名(既定) / 1:著者名→表題 / 2:表題→著者名(副題優先) / 3:表題のみ(1行) / 4:表題+著者名のみ(2行) / 5:なし) | -t 1 |
-tf | 入力ファイル名を表題に利用 | |
-c <画像> | 表紙画像(0:先頭の挿絵 / 1:入力ファイル名と同じ画像 / ファイル名 or URL) | -c cover.jpg |
-d <パス> | 出力先ディレクトリ | -d ./output/ |
-ext <拡張子> | 出力ファイル拡張子 | -ext .kepub.epub |
-of | 出力ファイル名を入力ファイル名に合わせる(既定は [著者名] 表題.epub) | |
-hor | 横書きで出力(既定は縦書き) | |
-device <種別> | 端末種別を指定 | -device kindle |
-url <URL> | Web小説URL・アーカイブURL(zip / txtz / rar)から直接変換(複数指定可) | -url https://ncode.syosetu.com/nXXXX/ |
-narou | narou.rb互換フォーマット設定を適用 | |
-interval <秒> | ページ取得間隔(-url 指定時のみ有効、既定 1.0 秒) | -interval 1.5 |
-cache <パス> | キャッシュディレクトリ(-url 指定時のみ有効、既定は jar と同じ場所の .cache) | -cache .cache |
--preview | 変換した EPUB を既定ブラウザでプレビュー表示 | --preview foo.epub |
--library <フォルダ> |
CLI オプションは上記がすべてです。文字サイズ・行間・余白・画像縮小・外字などの詳細設定に
コマンドライン引数はありません。GUI で保存した ini か presets/*.ini を -i で渡してください。
CLI は次の順で設定ファイルを読みます。見つからなければ既定値(GUI の初期状態と同じ)で 動作し、その旨をログに 1 行出力します。
-i <ファイル> で明示したファイルAozoraEpub3.iniAozoraEpub3.ini(同梱の設定ファイル)GUI は起動時のカレントディレクトリの AozoraEpub3.ini を読み書きします。
AozoraEpub3.exe やダブルクリックで起動した場合はカレントが配布フォルダになるため、
実質的に jar と同じ場所の同梱 ini が使われます(AozoraEpub3.sh は実行した
ディレクトリがカレントになる点に注意)。
配布フォルダの外から CLI を実行するときは 3. により、この(通常の起動方法で GUI が
読み書きしている)同梱 ini が使われます。
なお 2. により、作業ディレクトリに AozoraEpub3.ini という名前のファイルがあると
意図せずそちらが優先されます。どのファイルを読んだかは起動時のログ
設定ファイルを読み込みました: <パス> で確認できます。
変換した EPUB を Kindle 等の実機へ転送する前に、既定のブラウザで確認できます。 縦書きの行折り・ルビの衝突・挿絵の収まり・濁点合成フォントの見え方を確かめる用途です。
# 既存の EPUB をそのまま表示(変換しない)
java -jar AozoraEpub3.jar --preview foo.epub
# 変換してから表示
java -jar AozoraEpub3.jar -of -d ./output/ --preview input.txt
GUI では変換完了後に「プレビュー」ボタンが有効になります。「プレビュー」タブの 「変換完了後に自動でプレビューを開く」をオンにすると、変換のたびに自動で開きます(既定はオフ)。 ブラウザに見えているプレビューのタブがあれば、新しいタブは開かずにそのタブに出します(奥のタブ・隠したブラウザのときは新しいタブ)。
サーバはループバックアドレス(127.0.0.1、IPv6 優先環境では ::1)のランダムポートに
URL トークン付きで待ち受け、外部からは接続できません。
CLI ではブラウザを閉じると自動的に終了します(Ctrl-C でも終了)。
表示設定は ~/.aozoraepub3/preview-settings.json に保存されます。
変換済み EPUB を置いているフォルダを「本棚」として登録すると、表紙サムネイル付きの一覧から 選んでプレビューできます。サブフォルダも探索します。登録できるフォルダは最大 8 個です。
# 本棚だけを開く(入力ファイルを省略)
java -jar AozoraEpub3.jar --library ./output/
# 複数の本棚を開く
java -jar AozoraEpub3.jar --library ./output/ --library ./novels/
# 変換してプレビューしつつ、本棚も一緒に開く
java -jar AozoraEpub3.jar -of -d ./output/ --library ./output/ input.txt
GUI では「プレビュー」タブでフォルダを追加し、「本棚を開く」で表示します。見えているプレビューのタブがあれば、そのタブに本棚を出します。
登録したフォルダは AozoraEpub3.ini に保存されます。
画面サイズ・フォントの近似表示です。Kindle / Kobo / Apple Books は独自の描画エンジンを 使うため、実機とまったく同じ見た目にはなりません。
# 標準的な変換
java -jar AozoraEpub3.jar input.txt
# 出力先を指定
java -jar AozoraEpub3.jar -d ./books/ input.txt
# Kobo形式で出力
java -jar AozoraEpub3.jar -ext .kepub.epub input.txt
# UTF-8エンコードで出力先を指定
java -jar AozoraEpub3.jar -enc UTF-8 -d ./output/ input.txt
# 複数ファイルを一括変換
java -jar AozoraEpub3.jar -d ./books/ file1.txt file2.txt file3.txt
# Web小説URLから直接変換
java -jar AozoraEpub3.jar -url https://ncode.syosetu.com/nXXXX/ -d ./output/
# narou.rb互換設定で変換
java -jar AozoraEpub3.jar -url https://ncode.syosetu.com/nXXXX/ -narou -d ./output/
# 青空文庫のテキストzip URLから直接変換(v1.4.0〜。.txtz / .rar も同様)
java -jar AozoraEpub3.jar -url https://www.aozora.gr.jp/cards/000035/files/1567_ruby_4948.zip -d ./output/
# 青空文庫の作品ページ(XHTML)・図書カードの URL からも変換できる。HTML は読まず、図書カードのテキストzipを取って変換する
java -jar AozoraEpub3.jar -url https://www.aozora.gr.jp/cards/000035/files/1567_14913.html -d ./output/
# 更新確認(自動更新はしません。更新があればダウンロードページを案内します)
java -jar AozoraEpub3.jar --check-update
GitHub の最新リリースと実行中のバージョンを比較して、更新の有無だけを知らせます。 ダウンロードと差し替えは行いません(自動更新なし・起動時の自動チェックもなし)。
java -jar AozoraEpub3.jar --check-update(-cu でも可)終了コードは、確認できれば 0(更新の有無は問わない)、通信できなければ 1 です。
オフライン環境やプロキシ配下では失敗しますが、変換機能には影響しません。
| 終了コード | 意味 |
|---|---|
0 | すべての入力ファイルの変換に成功(-h / --help、および --check-update が確認できた場合も 0。更新の有無は終了コードに反映しません) |
1 | 1 つ以上の入力ファイルで変換に失敗した/-i の INI ファイル・-d の出力先ディレクトリ・入力ファイルが存在しない/オプションの指定が不正、または入力ファイルも -url も指定されていない/--check-update が通信できなかった |
引数なしで実行した場合は GUI が起動するため、上表の対象外です。
v1.3.7-jdk21 での変更点: v1.3.6-jdk21 以前は、変換に失敗しても常に
0を返していました。 v1.3.7-jdk21 以降は失敗時に1を返し、出力途中の壊れた.epubは削除されます。 詳細は docs/usage.md、narou.rb 連携時の注意は docs/narou-setup.md を参照してください。
AozoraEpub3では、EPUB生成に使用するVelocityテンプレートをカスタマイズできます。
AozoraEpub3.jarと同じフォルダのtemplate/ディレクトリtemplate/フォルダから編集したいテンプレートを確認.vmファイル)を編集AozoraEpub3.jarと同じ場所にtemplate/フォルダがあることを確認配布ディレクトリ構成例:
your-directory/
├── AozoraEpub3.jar
├── template/ ← カスタマイズ可能
│ ├── OPS/
│ │ ├── package.vm
│ │ ├── nav.xhtml.vm
│ │ ├── css/
│ │ │ ├── vertical_text.vm
│ │ │ └── horizontal_text.vm
│ │ └── xhtml/
│ │ └── *.vm
│ └── META-INF/
│ └── *.vm
├── gaiji/ ← 外字追加可能
├── presets/ ← プリセット編集可能
└── web/
外部のtemplate/フォルダが存在しない場合、JAR内のデフォルトテンプレートが自動的に使用されます。
| テンプレート | 用途 |
|---|---|
OPS/package.vm | EPUB メタデータ・マニフェスト |
OPS/nav.xhtml.vm | ナビゲーション目次 |
OPS/css/vertical_text.vm | 縦書きCSS |
OPS/css/horizontal_text.vm | 横書きCSS |
OPS/xhtml/*.vm | 本文XHTML生成 |
java コマンドがインストールされているか確認してくださいjava -version で確認)AozoraEpub3.exe の起動時に「Windows によって PC が保護されました」と出るMicrosoft Defender SmartScreen の警告です。マルウェアが検出されたわけではありません。
原因は 2 つの条件が重なることです。
AozoraEpub3.exe にコード署名がない(個人 OSS のため証明書を取得していません)SmartScreen は Mark of the Web が付いたファイルにしか反応しません。そのため、ZIP を展開する前に「許可する」にしておけば警告は出なくなります。展開ツールによって出たり出なかったりするのも同じ理由です(7-Zip などは既定で Mark of the Web を伝播しません)。
推奨手順(展開前に 1 回だけ)
AozoraEpub3-*.zip を右クリック →「プロパティ」PowerShell なら次の 1 行でも同じです。
Unblock-File .\AozoraEpub3-*.zip
展開後に気づいた場合は、展開先フォルダに対して次を実行してください。
Get-ChildItem -Recurse .\AozoraEpub3-* | Unblock-File
すでに警告画面が出てしまった場合は「詳細情報」→「実行」でも起動できます(この選択は記録されるので、同じファイルに対して繰り返し聞かれることはありません)。展開前に許可しておく利点は、警告画面自体が出ないことと、同梱の .jar や設定ファイルにも Mark of the Web が残らないことです。
この手順は SmartScreen の警告に対するものです。Windows 11 の Smart App Control が有効な環境では、Mark of the Web の有無に関わらず未署名アプリがブロックされることがあります。その場合はこの手順では回避できません。
配布物が正規のものであることは SHA-256 チェックサムで検証できます。手順は VERIFY.md を参照してください。
-enc UTF-8 オプションで指定してください大きなファイルの場合、メモリを増やして実行してください:
java -Xmx2g -jar AozoraEpub3.jar input.txt
Java は正しく入っているのにこのメッセージが出る場合、実際には EPUB の出力に失敗している可能性があります。
narou.rb は「AozoraEpub3 はエラーでも終了コード 0 を返す」という前提で作られているため、0 以外の終了コードをすべて「Java が動かなかった」と解釈します。AozoraEpub3 は v1.3.7-jdk21 から変換失敗時に 1 を返すようになったため、このメッセージが出るようになりました(意図した変更です。詳細は上記「終了コード」)。
真の原因は、このメッセージの直前に narou.rb が全文表示する AozoraEpub3 の出力(エラーが発生しました : ... の行)で確認できます。narou convert -v はこの場面では追加情報になりません(終了コードが 0 以外だと verbose 出力に到達する前に処理を打ち切るため)。
詳細は docs/narou-setup.md を参照してください。
ソースコードの流用、改変、再配布を行った場合も GPL v3 が適用されます。
AozoraEpub3で変換した ePubファイルの著作権は入力データと同一になります。
ePubファイルの修正や配布は入力データの著作権内で自由に行うことができます。
詳細は README_Changes.txt を参照してください。
バグ報告・機能提案・プルリクエストを歓迎します。
詳細は DEVELOPMENT.md を参照してください。
| フォルダを本棚として開く(複数指定可、最大 8 個) |
--library ./output/ |