はじめに
EPUB を PDF に変換したり、複数冊をまとめたりするオンラインサービスは便利です。一方で、一般的なサービスでは本のファイルをサーバーへアップロードする必要があります。未公開原稿や個人情報を含む本では、転送先・保存期間・削除方法を確認しなければなりません。
この記事では、ブラウザのローカル処理を使って、ファイルを端末の外へ出さずに EPUB を扱う考え方を整理します。
ブラウザ内で完結させる仕組み
<input type="file"> で選んだファイルは、ユーザーが許可したページ内の JavaScript から File として読めます。サーバーへ送信せず、メモリ上で ZIP(EPUB)を展開・編集し、Blob としてダウンロードできます。
例えば、ローカル処理の骨格は次のようになります(実際の EPUB の編集には ZIP/XML/HTML を扱うライブラリが必要です)。
const input = document.querySelector('input[type=file]');
const output = document.querySelector('#download');
input.addEventListener('change', async () => {
const book = input.files[0];
if (!book) return;
const bytes = await book.arrayBuffer();
// ここで EPUB を展開・変換する(例: ZIP ライブラリを利用)
const processed = new Blob([bytes], { type: 'application/epub+zip' });
output.href = URL.createObjectURL(processed);
output.download = `processed-${book.name}`;
output.textContent = 'ダウンロード';
});
この方式では、通信を伴う API を呼ばない限り、本文や画像は端末内に留まります。DevTools の Network タブで不要なアップロードが発生していないことを確認するのも有効です。なお、外部 CDN のライブラリを読み込む場合は、初回ロード時の通信や、ツール自身の実装・プライバシーポリシーも確認してください。
I Love EPUB を試す
ローカルでの EPUB 操作をすぐ試したい場合は、無料のツール集 I Love EPUB が選択肢になります。圧縮、結合、分割、EPUB↔PDF 変換、エディタ、目次・メタデータの修正などをブラウザから行えます。
アカウント登録なしで利用でき、ページの読み込み後はオフラインでも動作する設計です。ただし、機能やブラウザによる差があり得るため、機密性の高い本では、実際に通信が発生していないかを確認してから利用するのがおすすめです。大きなファイルではメモリ使用量にも注意し、処理後に元ファイルを不要な一時フォルダから削除します。
まとめ
- サーバー型変換は手軽だが、書籍データを預ける必要がある
- Web API とクライアントサイド処理なら、ファイルを端末内で処理できる
-
File、ArrayBuffer、Blobを使うとローカル処理の流れを作りやすい - ツールを使うときも、通信・外部依存・対応ブラウザを確認する
EPUB は ZIP と XML/HTML を中心とした形式なので、ブラウザの API と JavaScript ライブラリを組み合わせると、プライバシーを保ちながら実用的な処理を実現できます。アップロード不要:ブラウザだけで EPUB を圧縮・変換・編集する