ebook-convert - ebook-convert
ebook-convert 電子書籍のフォーマットを変換します。
出力する電子書籍のフォーマットは、出力ファイルの拡張子から推測されます。出力ファイルの拡張子をEXTとして、output_file
は特別な形式 .EXT
と指定することも可能です。この場合、出力ファイル名の本体部分は、入力ファイル名のものが使用されます。ファイル名の先頭にハイフンは使えませんので注意してください。output_file
に拡張子をつけなかった場合、出力ファイル名はディレクトリとして見なされ、HTMLファイルで構成されれる
"open ebook" (OEB)
フォーマットで、指定したディレクトリに出力されます。
入力ファイルと出力ファイルを指定した後ろに、変換をカスタマイズするための様々なオプションを指定することができます。使用可能なオプションは、入出力のファイルタイプに依存します。使用可能なオプションとその使い方を見るためには、入出力のファイルを指定した後ろに、-h
オプションを指定してください。
電子書籍変換システムについての完全なドキュメントは下記を参照してください
conversion
スペースを含む引数を
ebook-convert
に渡す場合には、クォーテーションマークでくくってください。例:
"/some path/with spaces"
指定できるオプションとデフォルト値は、入力フォーマットと出力フォーマットの
両方に依存するので、以下で確認するようにしてください:
ebook-convert myfile.input_format myfile.output_format -h
下記のオプションは、ますすべての変換に共通するオプション、続いて
入力フォーマットと出力フォーマットに固有のオプションです。
- 入力オプション
- 出力オプション
- 外観
- ヒューリスティック処理
- 検索と置換
- 構造の検出
- 目次
- 書誌情報
- デバッグ
- --input-profile
- 入力プロファイルを指定する。入力プロファイルは、変換のためのシステム情報を提供し、様々な入力文書の情報をどのように解釈するかを指定する。たとえば、解像度に依存する長さ(つまり、ピクセルごとの長さ)などがあります。選択肢:cybookg3,
cybook_opus, default, hanlinv3, hanlinv5, illiad, irexdr1000, irexdr800,
kindle, msreader, mobipocket, nook, sony, sony300, sony900
- --list-recipes
- ビルトイン・レシピ名の一覧を表示。以下のようにしてビルトイン・レシピから電子書籍を作成できます。:
ebook-convert "Recipe Name.recipe"
output.epub
- --output-profile
- 出力プロファイルを指定します。出力プロファイルは変換システムに、指定したデバイス毎のドキュメントの最適化(例えば画面サイズに合わせた画像のリサイズなど)を指定します。特定のデバイス用の最適化を行うことも可能ですが、普通はそこまで必要にはならないでしょう。選択肢:cybookg3,
cybook_opus, default, hanlinv3, hanlinv5, illiad, ipad, ipad3, irexdr1000,
irexdr800, jetbook5, kindle, kindle_dx, kindle_fire, kindle_oasis,
kindle_pw, kindle_pw3, kindle_voyage, kobo, msreader, mobipocket, nook,
nook_color, nook_hd_plus, pocketbook_900, pocketbook_pro_912, galaxy,
sony, sony300, sony900, sony-landscape, sonyt3, generic_eink,
generic_eink_hd, generic_eink_large, tablet
入力オプション
入力ファイル mobi
の処理制御オプション
- --input-encoding
- 入力された文書の文字エンコーディングを指定します。このオプションを設定した場合、文書内で宣言されるエンコーディングは無視されます。特に、文書がエンコーディング宣言を行っていない場合や、エンコーディング宣言に問題がある場合に有効です。
出力オプション
epub出力処理をコントロールするためのオプション
- --dont-split-on-page-breaks
- 改ページでのファイル分割をしません。通常、入力ファイルは自動的に改ページの部分で2つのファイルに分割されます。これによりパースが速く、使用リソースの少ない電子書籍が出力されます。しかしながら分割作業は遅いので、ファイルに大量の改ページがある場合は改ページでの分割をしないでください。
- --epub-flatten
- このオプションはFBReaderJでEPUBを見る場合のみに必要になります。EPUB内のファイルのレイアウトをフラットにし、すべてのファイルをトップレベルに配置します。
- --epub-version
- 生成するEPUBファイルのバージョンです。互換性が最も高いのはEPUB2です。EPUB3は、どうしてもそれが必要とわかっているときに限り指定してください。
- 生成した EPUB
ファイルの内容を指定したディレクトリに展開する。最初にディレクトリの内容が消されるので、注意してください。
- --flow-size
- 指定した容量(KB)以上のHTMLファイルを分割します。大抵のEPUBリーダーは大きなファイルサイズを扱えないのでこのオプションは重要です。デフォルトの
260KBは Adobe Digital Editions
向けのサイズです。0を設定すると分割を無効にします。
- --no-svg-cover
- SVGを本の表紙に使用しない。このオプションはiPhoneや
JetBook
LiteのようなSVGをサポートしないデバイスで使用する場合に使ってください。指定しないと、それらのデバイスでは表紙が白紙になってしまいます。
- --preserve-cover-aspect-ratio
- SVGの表紙を使う場合、このオプションはアスペクト比(縦横の比率)を保ったまま、表紙を画面のサイズに広げます。これにより表紙の両端や上下に白い部分ができる事がありますが、表紙は歪みません。このオプションを使わないと表紙がいくらか歪みますが白い部分はできません。
- --pretty-print
- 指定した場合は、出力プラグインはできる限り人が読めるような出力を生成しようとします。一部の出力プラグインには、なにも効果がない可能性があります。
外観
出力の外観を調整するためのオプション
- --asciiize
- Unicode文字をASCII表記に翻訳します。Unicode文字がASCIIで置き換わることになるため注意して使ってください。例えば
“Михаил
Горбачёв”
は ”Mikhail Gorbachiov”
に置換されます。また文字に複数の表記がある場合(例えば中国語と日本語で共有されている文字)、表記は現在のCalibreのインタフェース言語が使われます。
- --base-font-size
- フォントサイズの単位はptです。作成された本の中のすべてのフォントサイズは、ここで指定したフォントサイズに従って再指定されます。大きいサイズを指定すれば出力されたファイル中のフォントが大きくなり、逆に小さいサイズを指定すれば小さくなります。デフォルトの値である0を指定した場合には、ベースとするフォントサイズは指定した出力プロファイルに従って自動的に選択されます。
- --change-justification
- テキスト揃えを変更します。「左」に設定すると揃えるべきすべてのテキストを左寄せにします。「揃える」にすると揃っていないすべてのテキストを揃えます。「オリジナル」(デフォルト)にすると元ファイルの揃えを変えません。注:
一部のフォーマットのみで揃えがサポートされている事に注意してください。
- --embed-all-fonts
- 入力ドキュメントから参照されているフォントで、まだ埋め込まれていないフォントをすべて埋め込みます。この機能は、システム上のフォントを検索し、見つかればそれを埋め込みます。フォントの埋め込みは、変換先のフォーマットが埋め込みをサポートしている場合、例えば
EPUB, AZW3, DOCX, PDF
の場合にしか機能しません。ドキュメントにフォントを埋め込むための、適切なライセンスを所有していることを確認してください。
- --embed-font-family
- 書籍に指定したフォントを埋め込みます。これは書籍に使われる「ベース」フォントを指定します。もし入力ドキュメントがフォントを指定していた場合には、それがベースフォントより優先されます。(そうしたくない場合には、スタイル情報絞り込みを使って、入力ドキュメントからフォントを取り除いてください)。注意:フォント埋め込みはEPUB,
AZW3, DOCX
のようないくつかのフォーマットでしか機能しません。
- --expand-css
- デフォルトで Calibre
は、CSSのmargin, padding, border,
等を指定する際に、短縮形式を使用します。このオプションを有効にすると、短縮形式の代わりにすべて展開された形式を使用します。NookプロファイルはNookが短縮形式を取り扱えないため、この設定にかかわらず常に展開された形式を使用する設定になっていることに留意ください。
- CSSスタイルシートへのパスかCSS自身を指定します。このCSSは入力ファイルのスタイル・ルールに追加されるので、既存のルールをオーバーライドすることもできます。
- --filter-css
- CSSスタイルルールから削除する、すべてのCSSプロパティのカンマ区切りのリスト。一部のスタイル情報があるとデバイスが受け付けない場合に便利です。例:font-family,color,margin-left,margin-right
- --font-size-mapping
- CSSフォント名からポイントでのフォントサイズへのマッピング。(例:12,12,14,16,18,20,22,24)xx-small
から
xx-largeまでのマッピングで、最後のサイズになると巨大なフォントになります。フォントの再変換アルゴリズムはこれらのサイズを賢く変換します。デフォルトでは、選択した出力プロファイルに基づいたマッピングが使用されます。
- --keep-ligatures
- 入力ドキュメント内の合字をそのままにします。合字とは2つの文字を組み合わせて表現する特別な文字です。(例:ff,fi,fl等)大半のリーダーは標準のフォントで合字をサポートしないので、これらが正しく表示される可能性は低いです。デフォルトではCalibreは合字を2つの通常文字に変換します。このオプションはそれらをそのままにします。
- --line-height
- ポイントでの行の高さ。連続するテキストの行と行の間のスペースを調整します。行の高さ情報のないエレメントにのみ適用されます。たいていの場合には最低の行の高さの設定のほうが便利でしょう。デフォルトではこの行の高さの設定はありません。
- --linearize-tables
- 一部のデザインの良くない文書では、ページのテキストレイアウトにテーブルを使用しているものがあります。こういった文書を変換すると、ページがはみ出したり乱れることがよくあります。このオプションを使うと、テーブルから内容を抜き出して直線的な配置に置き換えます。
- --margin-bottom
- 下の余白をpt単位で指定。デフォルトは5.0。この値に0以下の数値を指定すると余白を設定しません
(オリジナルのドキュメント内に設定された余白を使用します)。注:
PDFやDOCXなど固定ページフォーマットでは、そのフォーマットでの指定が優先します。
- --margin-left
- 左の余白をpt単位で指定。デフォルトは5.0。この値に0以下の数値を指定すると余白を設定しません
(オリジナルのドキュメント内に設定された余白を使用します)。注:
PDFやDOCXなど固定ページフォーマットでは、そのフォーマットでの指定が優先します。
- --margin-right
- 右の余白をpt単位で指定。デフォルトは5.0。この値に0以下の数値を指定すると余白を設定しません
(オリジナルのドキュメント内に設定された余白を使用します)。注:
PDFやDOCXなど固定ページフォーマットでは、そのフォーマットでの指定が優先します。
- --margin-top
- 上の余白をpt単位で指定。デフォルトは5.0。この値に0以下の数値を指定すると余白を設定しません
(オリジナルのドキュメント内に設定された余白を使用します)。注:
PDFやDOCXなど固定ページフォーマットでは、そのフォーマットでの指定が優先します。
- --minimum-line-height
- 計算されたフォントサイズのパーセントに基づく、最小の行の高さです。入力文章の指定にかかわらず、Calibreはすべてのエレメントで最低限この行の高さになることを保障します。ゼロにすると無効になります。デフォルトは120%です。この意味がよくわかっている場合にのみ、設定からこの行の高さの設定を直接指定してください。例えば、「2倍の高さ」を指定する場合には設定を240にしてください。
- --remove-paragraph-spacing-indent-size
- Calibreがパラグラフ間の空白行を削除する時に、パラグラフを見えやすくするために自動的にパラグラフのインデントを設定します。このオプションはそのインデントの幅をコントロールします。(単位em)もしこの値を負にした場合、入力されたドキュメントで指定されたインデントを使います。つまりCalibreはインデントを変えません。
- --smarten-punctuation
- 引用記号、ダッシュ、省略記号を印刷上の正しいものに変換します。詳しくは
https://daringfireball.net/projects/smartypants
を参照してください。
- --subset-embedded-fonts
- すべての埋め込みフォントをサブセット化する。すべての埋め込みフォントはこのドキュメントで使用された文字のみに縮小され、フォントファイルのサイズを減らすことができます。使用していない文字が多い、大きなフォントを埋め込むときに便利でしょう。
- --transform-css-rules
- この本のCSSスタイルを変更するルールを記述したファイルへのパス。このファイルを作成する一番簡単な方法は、Calibre
GUIにあるルール作成のウィザードを利用することです。「外観→スタイル変換」セクションにあるダイアログからアクセスしてください。ルールを作成したら、「エクスポート」ボタンを使ってファイルに保存することができます。
ヒューリスティック処理
共通のパターンを使ってドキュメントのテキストと構造を変更します。デフォルトでは無効になっています。
--enable-heuristicsを使って有効にします。個々のアクションは、--disable-*
オプションで無効にすることができます。
- --html-unwrap-factor
- 行の折り返しをしない長さを決めるための比率。有効な値は0~1まです。デフォルトは0.4で、真ん中より少し小さいあたりです。もし少しの行しか折り返しする必要が無い場合にはこの値を下げてください。
検索と置換
ユーザ定義のパターンを使って文章や構造を変更します。
- --search-replace
- 検索と置換の正規表現を含むファイルのパスを指定します。ファイルの内容は、検索の正規表現の行と、置換パターン(置換パターンは空行も可)の行が交互になるようにしてください。正規表現はPythonの文法に従い、ファイルのエンコーディングは
UTF-8
でなくてはいけません。
構造の検出
ドキュメント構造の自動判別を制御
- --chapter
- 章タイトルを検出するためのXPathの式。デフォルトでは、<h1>
または <h2>
タグのうち
"chapter", "book",
"section", "prologue",
"epilogue", "part"
を含むもの、および
class="chapter"
のものを章タイトルとします。使用する式は、エレメントのリストを評価するものでなくてはなりません。章の検出を無効にするには、"/"
式を使用します。XPathのチュートリアルは、Calibreのユーザマニュアルを参照してください。
- --chapter-mark
- 見つかった章をどのようにマーキングするか指定します。「改ページ」を選ぶと章の前に改ページを挿入します。「ルール」を選ぶと章の前に行を挿入します。「なし」を選ぶとマーキングを行いません。「両方」を選ぶと改ページと行の両方を挿入します。
- --disable-remove-fake-margins
- いくつかの文章は、各段落に左右のマージンを指定することで、ページのマージンを指定しています。Calibreはそれらのマージンを見つけて削除しようとしますが、たまに、これが原因でマージン全体がなくなってしまうことがあります。そのような場合、削除を無効にすることができます。
- --insert-metadata
- 本の書誌情報を本の最初に奥付として挿入する。これは電子書籍リーダーが、書誌情報を直接表示したり検索したりといった機能を持たない場合に有効です。
- --remove-first-image
- 入力電子書籍から最初の画像を取り除きます。入力ドキュメントに表紙として認識されない表紙がある場合に有用です。その際、Calibreで表紙を指定すると表紙が2つになってしまうのを、このオプションを指定することで避けることができます。
- --start-reading-at
- 読書を開始する場所を指定するXPath式です。いくつかの電子書籍リーダー(最も典型的なにはKindle)は、本を開いたときに、ここで指定した場所から開きます。この機能を使用するより詳しい情報は、CalibreのユーザーマニュアルのXPathチュートリアルを参照してください。
目次
目次の自動生成をコントロールします。デフォルトでは、入力ファイルに目次があった場合に優先的に自動生成されます。
- --level1-toc
- 目次のレベル 1
に追加するタグをすべて指定するXPath式です。これが指定された場合、他の目次の自動検出により優先されます。XPathのチュートリアルは、Calibreのユーザマニュアル等を参照してください。
- --level2-toc
- 目次のレベル 2
に追加するタグをすべて指定するXPath式です。指定された項目は、直前のレベル
1
の項目の下に追加されます。XPathのチュートリアルは、Calibreのユーザマニュアル等を参照してください。
- --level3-toc
- 目次のレベル 3
に追加するタグをすべて指定するXPath式です。指定された項目は、直前のレベル
2
の項目の下に追加されます。XPathのチュートリアルは、Calibreのユーザマニュアル等を参照してください。
- --max-toc-links
- 目次に入れられる最大のリンク数。0にすると無限になります。デフォルト:
50
。リンクは、最低の章の数の設定以下の場合にのみ、追加されるます。
- --toc-filter
- 目次から削除する項目を指定するための正規表現による指定。マッチした項目とその子項目は削除されます。
書誌情報
出力の書誌情報の設定オプション
- --pubdate
- 発行日を設定
(タイムゾーンが明示的に指定されない限り、ローカルなタイムゾーンとみなします)
- --series-index
- このシリーズの本の巻数を設定します。
- --tags
- 本にタグを設定します。カンマ区切りのリストである必要があります。
- --title-sort
- タイトルのバージョンを並び替えに使う。
デバッグ
変換をデバッグする補助用のオプション
- --verbose,
-v
- デバッグ出力の量のレベル指定します。複数回指定すると、出力量が増えます。2回指定すると出力量が最大になります。1回が中程度の出力量で、指定しなければ一番少ない出力量になります。