エクスポートファイル形式
Bookil Library.json の構造 (スキーマ v1)。
このページでは、Bookil がエクスポート時に書き出す JSON ファイルの仕様を説明します。ファイルを直接確認したり変換したいユーザー向けです。通常のバックアップと復元はアプリ内の操作で行います。詳しくは ライブラリをバックアップする をご覧ください。
ファイル
- 名前: 常に
Bookil Library.json。 - 形式: キーをソートした、読みやすい整形済み JSON。
- 日付: ISO 8601 文字列。
ルート構造
{
"schemaVersion": 1,
"books": [ /* ExportBook */ ],
"collections": [ /* ExportCollection */ ]
}
schemaVersion は現在 1 です。旧バージョンの Bookil が生成した形式とは互換性がありません。
ExportBook
{
"fingerprint": "string",
"fingerprintSourceRawValue": "pdfID" | "fileNameFallback",
"name": "string",
"totalPages": 123,
"readingDirectionOverride": "leftToRight" | "rightToLeft" | null,
"currentPage": 0,
"openedAt": "2026-06-24T12:00:00Z" | null,
"completedAt": "2026-06-24T12:00:00Z" | null,
"createdAt": "2026-06-24T12:00:00Z",
"updatedAt": "2026-06-24T12:00:00Z",
"bookmarks": [ /* ExportBookmark */ ],
"inkPages": [ /* ExportInkPage */ ]
}
fingerprint— Bookil が PDF を識別する安定したキー。PDF 内部の/IDから生成されます。/IDが無い PDF ではファイル名にフォールバックします。fingerprintSourceRawValue— フィンガープリントが PDF 由来ならpdfID、ファイル名フォールバックならfileNameFallback。name— Bookil のライブラリでの PDF のファイル名。
ExportCollection
{
"name": "string",
"sortOrder": 1024,
"isLocked": false,
"createdAt": "2026-06-24T12:00:00Z",
"updatedAt": "2026-06-24T12:00:00Z",
"items": [ /* ExportCollectionItem */ ]
}
isLocked— プライバシー保護コレクションならtrue、通常コレクションならfalse。ロック状態はエクスポートに含まれますが、ファイルの内容は平文のまま書き出されます。
ExportCollectionItem
{
"fingerprint": "string",
"fingerprintSourceRawValue": "pdfID" | "fileNameFallback",
"fileName": "string",
"sortOrder": 1024,
"createdAt": "2026-06-24T12:00:00Z",
"updatedAt": "2026-06-24T12:00:00Z"
}
取り込み時、Bookil は fingerprint 優先、次に fileName の順で本に紐付けます。
ExportBookmark
{
"pageIndex": 41,
"label": "string" | null,
"createdAt": "2026-06-24T12:00:00Z",
"updatedAt": "2026-06-24T12:00:00Z"
}
pageIndex は 0 から始まります。
ExportInkPage
{
"pageIndex": 0,
"drawingData": "base64-encoded-bytes",
"drawingMimeType": "application/x-pkdrawing",
"boundsX": 0.0,
"boundsY": 0.0,
"boundsWidth": 595.0,
"boundsHeight": 842.0,
"createdAt": "2026-06-24T12:00:00Z",
"updatedAt": "2026-06-24T12:00:00Z"
}
drawingData には PencilKit の描画データがネイティブ形式で格納されます。
並び順
エクスポート間の差分を安定させるため、ファイル内のリストは決定的にソートされます。
books— ファイル名 → fingerprint。collections—sortOrder→ 名前。- コレクションの
items—sortOrder→ ファイル名。 bookmarksとinkPages—pageIndex。
互換性
- 日付は ISO 8601 と数値 (UNIX エポック秒) の両方を受け付けます。
- Bookil 2025.08.1 以前のエクスポート形式 (本のフラットなリスト) は、このバージョンでは取り込めません。
- 将来のバージョンでフィールドが追加される可能性があります。Bookil は知らないフィールドは取り込み時に無視します。