Poslední aktualizace: 28 července 2026

Inside the CBZ - Understanding the Anatomy of Digital Comics

TL;DR CBZ (Comic Book Zip) není nic jiného než standardní archiv ZIP, který spojí sérii sekvenčních souborů obrázků — plus volitelná metadata — do jednoho kontejneru komiksu bez DRM. Protože se opírá o všudypřítomný formát ZIP, může jej otevřít jakýkoli archivní nástroj a čtečky jednoduše seřadí obrázky abecedně, aby zobrazily stránky ve správném pořadí. Moderní CBZ často obsahují ComicInfo.xml pro bohatá knihovní data, používají efektivní kodeky obrázků jako WebP/AVIF a dokonce vkládají HTML pro interaktivní „vylepšené“ komiksy.


Co přesně je CBZ?

  • Název: Comic Book Zip – ZIP soubor s příponou .cbz.
  • MIME typ: application/vnd.comicbook+zip (registrováno u IANA v roce 2012).
  • Původ: Popularizováno komunitou ComicRack (2005‑2008) jako open‑source alternativa k proprietárním formátům jako CBR nebo PDF.
  • Víceplatforemní: Otevřitelné libovolným nástrojem kompatibilním se ZIP (7‑Zip, WinRAR, macOS Archive Utility, Linux unzip). Není vyžadován žádný speciální software pro prohlížení obsahu.

V praxi je CBZ jen složka s obrázky (JPEG, PNG, WebP atd.) zkomprimovaná a přejmenovaná. Tato jednoduchost je důvodem, proč je de‑facto standardem pro digitální komiksy na PC, tabletech a telefonech.


Uvnitř CBZ: Struktura souboru

Správně vytvořený CBZ má plochou hierarchii—žádné další vnoření—takže čtečky mohou okamžitě najít stránky. Níže je typický stromový pohled:

MyComic.cbz
│
├─ 001.jpg          ← first page (front cover)
├─ 002.jpg
├─ 003.jpg
│   …
├─ 050.jpg          ← last page (back cover)
├─ ComicInfo.xml    ← optional rich metadata
└─ cover.jpg        ← optional thumbnail for library views

Klíčové prvky

PrvekCo to jeProč je to důležité
Sekvenční soubory obrázkůPojmenovány tak, aby se řadily abecedně (001.jpg, 002.jpg, …)Zaručuje správné pořadí stránek ve všech čtečkách.
Formát obrázkuJPEG, PNG, GIF, WebP, AVIF, BMP, TIFFUrčuje velikost souboru, vizuální věrnost a kompatibilitu zařízení.
ComicInfo.xmlVolitelný XML podle schématu ComicRackUkládá název, autora, sérii, číslo vydání, jazyk, příznaky typu stránky a dokonce data miniatur. Umožňuje výkonné spravování knihovny.
Obrázek obálkycover.jpg/cover.png v kořenovém adresářiPoužívá se v mnoha aplikacích jako miniatura komiksu v galeriích.
Unicode názvy souborůModerní ZIP podporuje UTF‑8Nezbytné pro ne‑latinské názvy a mezinárodní komiksy.
ZIP centrální adresářIndex na konci archivuČtečky si toto přečtou, aby rychle vytvořily seznam stránek; poškození zde může zničit celý CBZ.

Protože archiv komprimuje pouze již komprimované obrázky, konečná velikost je obvykle jen součtem původních souborů plus několik kilobajtů režie ZIP (< 5 %).


Kouzlo metadat: ComicInfo.xml a příznaky typu stránky

Zatímco CBZ funguje perfektně bez jakýchkoli dalších souborů, přidání ComicInfo.xml promění jednoduchý zásobník obrázků na prohledávatelný, bohatě popsaný komiks. Zde je minimální příklad:

<?xml version="1.0" encoding="utf-8"?>
<ComicInfo>
  <Title>Starship Voyager</Title>
  <Series>Space Adventures</Series>
  <Number>12</Number>
  <Writer>Jane Doe</Writer>
  <Penciller>John Smith</Penciller>
  <Inker>Alex Lee</Inker>
  <Publisher>Galaxy Press</Publisher>
  <Year>2024</Year>
  <LanguageISO>en</LanguageISO>
  <PageCount>50</PageCount>
  <Pages>
    <Page Image="001.jpg" Type="FrontCover"/>
    <Page Image="002.jpg" Type="Story"/>
    <Page Image="025.jpg" Type="DoublePage"/>
    <Page Image="050.jpg" Type="BackCover"/>
  </Pages>
</ComicInfo>

Proč se obtěžovat?

  • Nástroje knihovny (ComicRack, Calibre, atd.) mohou řadit, filtrovat a vyhledávat na základě těchto polí.
  • Příznaky typu stránky (FrontCover, BackCover, Advert, Deleted, atd.) umožňují čtenářům skrýt reklamy, zobrazit jen stránky příběhu nebo zobrazit vlastní miniaturu obálky.
  • Budoucí zabezpečení – Jak Digital Comics Initiative připravuje specifikaci CBZ v2.0, soubor manifestu (manifest.json) může být povinný, ale stávající čtečky budou i nadále podporovat ComicInfo.xml.

Vytváření a konverze souborů CBZ (krok za krokem)

1. Připravte své obrázky

  • Exportujte každou stránku komiksu jako obrázek.
  • Pojmenujte je pomocí nulou doplněných čísel (001.jpg, 002.jpg, …), aby bylo zajištěno správné řazení.
  • Vyberte kodek, který vyhovuje vašemu publiku: JPEG pro nejmenší velikost, PNG pro bezztrátovou grafiku, WebP/AVIF pro moderní, vysoce kvalitní kompresi.

2. (Volitelné) Vygenerujte metadata

Nástroje jako ComicTagger, cbr2cbz nebo vlastní skripty mohou automaticky vyplnit ComicInfo.xml pomocí OCR + LLMs. Tento krok je volitelný, ale pro velké knihovny se důrazně doporučuje.

3. Zkomprimujte to

# Navigate to the folder containing the pages
cd /path/to/pages

# Create a CBZ without extra compression (JPEGs are already compressed)
zip -0 -r ../MyComic.cbz *.jpg *.png ComicInfo.xml cover.jpg
# -0 = store (no compression) – speeds up the process

Přejmenujte vzniklý .zip na .cbz, pokud to váš archivátor neudělal automaticky.

4. Ověřte archiv

import zipfile, pathlib, sys

def list_pages(cbz_path: pathlib.Path):
    with zipfile.ZipFile(cbz_path, 'r') as z:
        # Guard against zip‑bombs (max 500 MB uncompressed)
        total = sum(z.getinfo(name).file_size for name in z.namelist())
        if total > 500 * 1024 * 1024:
            raise ValueError("Archive too large")
        images = [n for n in z.namelist()
                  if n.lower().endswith(('.jpg', '.jpeg', '.png', '.webp', '.avif'))]
        images.sort()  # natural alphabetical order
        return images

if __name__ == "__main__":
    cbz = pathlib.Path(sys.argv[1])
    for page in list_pages(cbz):
        print(page)

Spuštěním python list_pages.py MyComic.cbz by se měl vytisknout čistý, uspořádaný seznam názvů souborů stránek.

5. Převést do PDF (pokud potřebujete tisknutelnou verzi)

unzip -q MyComic.cbz -d tmp_pages
convert tmp_pages/*.jpg MyComic.pdf   # ImageMagick's `convert`
rm -r tmp_pages

Trendy, bezpečnost a budoucnost formátu CBZ

TrendCo se dějeDopad na CBZ
Distribuce zaměřená na webVydavatelé hostují CBZ soubory v cloudovém úložišti s předpodepsanými URL.Rychlejší, stahování bez DRM; snadnější samopublikování.
Hybridní/interaktivní komiksyPřidáním index.html + aktiv do archivu vytvoříte „vylepšené“ komiksy (audio, video, HTML5).Čtečky, které podporují webové zobrazení, mohou vykreslovat multimediální vrstvy.
Přijetí formátů WebP a AVIF~15 % nových vydání (2024) používá tyto kodeky.Snížení velikosti o 30‑50 % při zachování kvality — klíčové pro mobilní šířku pásma.
AI‑generovaná metadataNástroje jako ComicTagger nyní používají OCR + LLMs k vyplnění ComicInfo.xml.Lepší vyhledatelnost, automatické označování a organizace knihovny.
Aplikace pro čtení s cloudovou synchronizacíChunky, Perfect Viewer a další synchronizují postup pomocí Firebase/iCloud.Plynulé čtení napříč telefony, tablety a počítači.
Usilování o standardizaci (CBZ v2.0)DCI navrhuje povinný manifest.json, více‑rozlišení aktiva a značku <DRM>.Zajistí, že CBZ bude odolnější pro zařízení s vysokým DPI a volitelnou správu práv.
Bezpečnostní povědomíÚtoky typu zip‑bomba (malý ZIP → gigabajty po rozbalení) jsou skutečnou hrozbou.Čtečky nyní vynucují limity velikosti rozbalování a používají bezpečné knihovny (např. Python zipfile s kontrolami).

Bezpečnostní tip pro vývojáře

Vždy ověřte celkovou nekomprimovanou velikost před rozbalením CBZ. Jednoduchá kontrola (jak je ukázáno v Python úryvku) zabraňuje škodlivým archivům vyčerpávat místo na disku nebo paměť.


Jak čtečka ve skutečnosti vykresluje CBZ

  1. Otevřete archiv – Aplikace čte centrální adresář ZIP, aby získala rychlý index položek.
  2. Filtrujte obrazové soubory – Nepodporované položky (ComicInfo.xml, __MACOSX/, atd.) jsou ignorovány.
  3. Seřaďte abecedně – Díky nulovým doplněným názvům odpovídá seřazený seznam zamýšlenému pořadí stránek.
  4. Zpracujte metadata – Pokud existuje ComicInfo.xml, čtečka extrahuje příznaky typu stránky, název, autora atd., a může skrýt stránky označené jako Advert nebo Deleted.
  5. Render pages – Obrázky jsou dekódovány (často s hardwarově akcelerovanými JPEG/WebP dekodéry na moderních e‑ink tabletech) a zobrazovány jeden po druhém, s přednačítáním několika následujících stránek pro plynulé rolování.
  6. Persist state – Pozice čtení, záložky a anotace jsou uloženy lokálně nebo synchronizovány do cloudu, v závislosti na aplikaci.

Tento proces je důvod, proč se CBZ jeví tak rychlý a responzivní jako nativní PDF, a přitom zůstává zcela otevřený a editovatelný.


Závěr: Elegance CBZ spočívá v její jednoduchosti – prostý ZIP, který může kdokoli otevřít, upravit nebo přetvořit. S volitelnými metadaty ComicInfo.xml, moderními kodeky obrázků a nově vznikajícími standardy, se nadále vyvíjí a zůstává věrná svým kořenům bez DRM a napříč platformami.