当サイトの一部ページには、アフィリエイト・アドセンス・アソシエイト・プロモーション広告を掲載しています。

Amazonのアソシエイトとして、Security Akademeiaは適格販売により収入を得ています。

広告配信等の詳細については、プライバシーポリシーページに掲載しています。

消費者庁が、2023年10月1日から施行する景品表示法の規制対象(通称:ステマ規制)にならないよう、配慮して記事を作成しています。もし問題の表現がありましたら、問い合わせページよりご連絡ください。

参考:令和5年10月1日からステルスマーケティングは景品表示法違反となります。 | 消費者庁

Re:VIEWで生成したEPUBファイルを閲覧すると、1ページ目が”Document is empty”エラーになる

はじめに

いつもブログをご覧いただきありがとうございます。

ミジンコに転生したIPUSIRONです😀

IPUSIRONのプロフィールを見る

問題

Re:VIEWでEPUBファイルを出力しました。

そのファイルをEPUBビューアー(ここでは「超縦書ビューア」を使った)で開いたところ、1ページ目に以下の画像のような"Document is empty"エラーが出ていました。

原因

免責事項や目次よりも前に表示されていることから、これは大扉の生成に失敗していることを意味しています。

そういえば、大扉のタイトルを任意の位置で改行できるようにするために、カスタマイズした大扉用のファイル("title.tex")を用意し、"config.yml"から読み込ませていたのでした。

【対応策】"title.xhtml"ファイルを作成し、"config.yml"ファイルから読み込む

EPUB出力時にカスタマイズした大扉用ファイルを使用する場合は、TEXファイルではなくHTMLファイルを指定する必要があります。

1:以下の"title.xhtml"ファイルを作成し、articlesフォルダー内に配置します。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja">
<head>
  <title>シーザー暗号の解読法 簡易版</title>
  <meta charset="UTF-8" />
  <style type="text/css">
    body {
      text-align: center;
      margin-top: 20%;
      font-family: serif;
    }
    h1 {
      font-size: 2.2em;
      line-height: 1.5em;
    }
    .author {
      margin-top: 2em;
      font-size: 1.5em;
      font-weight: bold;
    }
  </style>
</head>
<body>
  <h1>
    シーザー暗号の解読法 簡易版
  </h1>
  <div class="author">IPUSIRON 著</div>
</body>
</html>

2:"config.yml"ファイルで以下の記述を追加します。

titlefile: title.xhtml

3:改めてreview-epubmakerコマンドでEPUBファイルを出力します。

※以下はWSL(Ubuntu)で実行した例です。各々のビルド環境に合わせて読み替えてください。

# docker run --rm -v `pwd`:/work vvakame/review:5.8 /bin/sh -c "gem install unicode-display_width && cd /work && review-epubmaker config.yml"

4:出力されたEPUBファイルをEPUBビューアーで開いて内容を確認します。

エラーが表示されず、大扉の内容が正しく表示されれば成功です。

タイトルや著者名のフォントを変更したい場合は、"title.xhtml"ファイル内のスタイルを調整してください。