Camp-Us Publisher 制作プレイブック v1.0

note連載 → EPUB → KDPペーパーバック、フル工程まとめ

第一号『Homo editus』制作で確立した工程。次回作からはこの手順をなぞればいい。


0|前提:マスター原稿の作法

grep -n "^# \|^## \|^### " master.md

1|EPUB制作

1-1. 変換

pandoc master.md -o book.epub \
  --toc --toc-depth=2 \
  --metadata lang=ja \
  --epub-title-page=false \
  --resource-path=.:images

1-2. 必須チェックリスト

1-3. 検証

Kindle Previewer 3で必ず実機(タブレット/スマホ表示)を目視。特に:


2|KDPペーパーバック制作(PDF)

2-1. 環境

pip install weasyprint --break-system-packages
apt-get install -y ghostscript

WeasyPrintでCSS Paged Mediaを使い、127×188mmのような小型判型・左右ミラー余白・ノンブルを精密に組む。日本語はNoto Serif CJK JPが標準搭載されていることを確認しておく。

2-2. 既知の制約と回避策

WeasyPrintは文書途中でのページカウンター(page)リセットに対応していない。 counter-reset: page 1をどの要素に置いても効かない(実験で3パターン確認済み)。

回避策:前付け/本文/奥付を別々のHTMLとして独立レンダリングし、pypdfで結合する。 独立文書はそれぞれ自分のページ1から始まるので、リセット不要で正しいノンブルになる。

from pypdf import PdfWriter, PdfReader
writer = PdfWriter()
for fname in ['front.pdf', 'toc.pdf', 'blank.pdf', 'main.pdf', 'colophon.pdf']:
    reader = PdfReader(fname)
    for page in reader.pages:
        writer.add_page(page)
writer.metadata = {}  # KDPはメタデータ持ち込み禁止
with open('final.pdf', 'wb') as f:
    writer.write(f)

2-3. 綴じ側ミラー余白(@page :left / :right)

@page :right {
  margin-left: 16mm;   /* 外側 */
  margin-right: 20mm;  /* 綴じ側 */
  @bottom-right { content: counter(page); }
}
@page :left {
  margin-left: 20mm;
  margin-right: 16mm;
  @bottom-left { content: counter(page); }
}

前付けページ数を偶数にしておくこと。 本文の1ページ目が右ページ(recto)から始まるようにするため。奇数だと本文の綴じ位置が丸ごとズレる。

2-4. 目次(実ページ番号入り)

本文PDFを先に確定させ、pdfplumberで各章見出しが何ページ目にあるかを自動抽出してから目次を組む。

import pdfplumber
with pdfplumber.open('main.pdf') as pdf:
    for i, page in enumerate(pdf.pages, start=1):
        text = page.extract_text() or ""
        # 章タイトルとのマッチングでページ番号を取得

2-5. KDP入稿仕様|必須監査(公式ヘルプ「原稿ファイルの保存」準拠)


3|表紙制作

3-1. テンプレートから正確な座標を読み取る

KDPが提供するテンプレートPNGを画素解析して、mm単位の正確な境界を得る。

from PIL import Image
import numpy as np
img = Image.open('template.png').convert('RGB')
arr = np.array(img)
px_per_mm = arr.shape[1] / 全体幅mm
# 黄色(バーコード領域)、黒(トリムライン)のピクセル座標を抽出

今回の実測値(127×188mm、208ページ、砕木パルプ紙の場合):

ページ数が変われば背幅もバーコード位置も変わる。毎回テンプレートを取り直して実測すること。

3-2. 構成の基本


4|最終監査(提出直前)

  1. KDP印刷プレビューアーで全ページ目視──特に扉・目次・章の切れ目・巻末・表紙見開き
  2. 総ページ数、目次のページ番号と実際のページが一致しているか
  3. 表紙のガイド線が完全に消えているか(ガイドレイヤーごと非表示・削除)
  4. 著者名・タイトル・ISBNが、本の詳細情報(KDP管理画面)とPDF内(表紙・扉・奥付)で完全一致しているか

5|このプレイブックの前提となった技術スタック

すべてこの環境(bash_tool)で完結する。次回作は、この手順書の番号順になぞれば、初稿から入稿までの距離がかなり縮む。