Son Yenilənmə: 28 İyul, 2026

Inside the CBZ - Understanding the Anatomy of Digital Comics

TL;DR CBZ (Comic Book Zip) sadəcə ardıcıl şəkil fayllarının seriyasını—əlavə olaraq istəyə bağlı meta‑məlumatları—tək, DRM‑siz komiks konteynerində birləşdirən standart ZIP arxividir. Çünki o, geniş yayılmış ZIP formatına əsaslanır, hər hansı arxivləşdirmə aləti onu aça bilər və oxuyucular sadəcə şəkilləri əlifba sırası ilə düzərək səhifələri ardıcıllıqla göstərirlər. Müasir CBZ‑lər tez-tez zəngin kitabxana məlumatları üçün ComicInfo.xml‑i daxil edir, WebP/AVIF kimi səmərəli şəkil kodeklərindən istifadə edir və hətta interaktiv “gelişmiş” komikslər üçün HTML‑ni də yerləşdirir.


CBZ nədir, dəqiq olaraq?

  • Ad: Comic Book Zip.cbz uzantılı ZIP faylı.
  • MIME tipi: application/vnd.comicbook+zip (2012-ci ildə IANA‑da qeydiyyatdan keçib).
  • Mənbə: ComicRack icması (2005‑2008) tərəfindən CBR və ya PDF kimi patentli formatlara açıq‑mənbəli alternativ kimi populyarlaşdırıldı.
  • Çox‑platformalı: Hər hansı ZIP‑uyğun alətlə (7‑Zip, WinRAR, macOS Archive Utility, Linux unzip) açılır. Məzmunu yoxlamaq üçün xüsusi proqram tələb olunmur.

Praktikada, CBZ sadəcə şəkillər (JPEG, PNG, WebP və s.) qovluğudur, sıxılıb yenidən adlandırılır. Bu sadəlik, PC‑lərdə, planşetlərdə və telefonlarda rəqəmsal komikslər üçün de‑facto standart olmasının səbəbidir.


CBZ içində: Fayl Strukturu

Yaxşı hazırlanmış CBZ düz bir iyerarxiyanı izləyir—əlavə qovluq olmadan—beləliklə oxucular səhifələri dərhal tapa bilirlər. Aşağıda tipik bir ağac görünüşü göstərilir:

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

Əsas Elementlər

ElementNədirNiyə Vacibdir
Ardıcıl şəkil fayllarıAlfabetik sıraya görə düzülməsi üçün adlandırılır (001.jpg, 002.jpg, …)Bütün oxuyucularda səhifələrin düzgün sırasını təmin edir.
Şəkil formatıJPEG, PNG, GIF, WebP, AVIF, BMP, TIFFFayl ölçüsünü, vizual dəqiqliyi və cihaz uyğunluğunu müəyyən edir.
ComicInfo.xmlComicRack sxemasına uyğun isteğe bağlı XMLBaşlıq, müəllif, seriya, sayı, dil, səhifə‑növü bayraqları və hətta miniatura məlumatlarını saxlayır. Güclü kitabxana idarəçiliyini mümkün edir.
Ön şəkilcover.jpg/cover.png kök qovluqdaÇoxsaylı tətbiqlər tərəfindən qalereyalarda komiksin miniatur şəkli kimi istifadə olunur.
Unicode fayl adlarıMüasir ZIP UTF‑8‑i dəstəkləyirLatın olmayan başlıqlar və beynəlxalq komikslər üçün vacibdir.
ZIP mərkəzi kataloquArxivın sonunda indeksOxuyucular bunu səhifə siyahısını sürətlə yaratmaq üçün oxuyur; burada baş verən zədələnmə bütün CBZ‑i poza bilər.

Arxiv yalnız artıq sıxılmış şəkilləri sıxdığı üçün, son ölçü adətən orijinal faylların cəmi və ZIP üst yükləməsinin bir neçə kilobaytı (< 5 %) qədər olur.


Meta Məlumat Sehr: ComicInfo.xml və Səhifə‑Növ Bayraqları

CBZ əlavə fayllar olmadan mükəmməl işləsə də, ComicInfo.xml əlavə etmək sadə şəkil yığınına axtarıla bilən, zəngin təsvirli komikslə çevirir. Budur minimal bir nümunə:

<?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>

Niyə əziyyət çəkmək?

  • Kitabxana alətləri (ComicRack, Calibre, və s.) bu sahələrə əsasən çeşidləyə, filtr edə və axtara bilər.
  • Səhifə‑növü bayraqları (FrontCover, BackCover, Advert, Deleted, və s.) oxuculara reklamları gizlətməyə, yalnız hekayə səhifələrini göstərməyə və ya xüsusi örtük miniaturasını nümayiş etdirməyə imkan verir.
  • Gələcəyə uyğunlaşdırma – Digital Comics Initiative CBZ v2.0 spesifikasiyasını hazırlayarkən, manifest faylı (manifest.json) məcburi ola bilər, lakin mövcud oxucular hələ də ComicInfo.xml‑i tanıyacaq.

CBZ Fayllarının Yaradılması və Çevrilməsi (Addım‑Addım)

1. Şəkillərinizi Hazırlayın

  • Hər bir komiks səhifəsini şəkil kimi ixrac edin.
  • Düzgün çeşidləməni təmin etmək üçün onları sıfırla doldurulmuş ədədlərlə (001.jpg, 002.jpg, …) adlandırın.
  • Auditoriyanıza uyğun kodeki seçin: ən kiçik ölçü üçün JPEG, itkisiz sənət üçün PNG, müasir, yüksək‑keyfiyyətli sıxışdırma üçün WebP/AVIF.

2. (İstəyə bağlı) Meta Məlumat Yaradın

Tools like ComicTagger, cbr2cbz, or custom scripts can auto‑populate ComicInfo.xml using OCR + LLMs. This step is optional but highly recommended for large libraries.

3. Sıxın

# 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

Arxivləyiciniz avtomatik etməyibsə, yaranan .zip faylını .cbz olaraq yenidən adlandırın.

4. Arxivi Yoxlayın

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)

python list_pages.py MyComic.cbz işlədildikdə, səhifə fayl adlarının təmiz və sıralı siyahısı çap edilməlidir.

5. PDF‑ə Çevirin (əgər çap edilə bilən versiya lazımdırsa)

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

Trendlər, Təhlükəsizlik və CBZ‑in Gələcəyi

TrendNə baş verirCBZ‑ə təsir
Web‑ilk paylamaNəşriyyatçılar CBZ-ləri bulud yaddaşında öncədən imzalanmış URL-lərlə saxlayırlar.Daha sürətli, DRM‑siz yükləmələr; öz‑nəşriyyat daha asan.
Hibrid/interaktiv komikslərArxivə index.html + aktivləri əlavə etmək “təkmilləşdirilmiş” komikslər yaradır (audio, video, HTML5).Veb görünüşünü dəstəkləyən oxuyucular multimedia qatlarını göstərə bilər.
WebP və AVIF qəbul edilməsi~15 % yeni buraxılışların (2024) bu kodekləri istifadə edir.Keyfiyyəti qoruyarkən 30‑50 % ölçü azaldılması—mobil bant genişliyi üçün vacib.
AI‑tərəfindən yaradılmış metadataComicTagger kimi alətlər artıq OCR + LLM-lərdən istifadə edərək ComicInfo.xml faylını doldurur.Daha yaxşı kəşfiyyat, avtomatlaşdırılmış etiketləmə və kitabxana təşkilatı.
Bulud‑sinxronlu oxuma tətbiqləriChunky, Perfect Viewer və digər tətbiqlər irəliləyişi Firebase/iCloud vasitəsilə sinxronlaşdırır.Telefon, planşet və masaüstü cihazlarda problemsiz oxuma.
Standartlaşdırma təşəbbüsü (CBZ v2.0)DCI məcburi manifest.json, çox‑rezolüsyonlu aktivlər və bir <DRM> bayrağı təklif edir.CBZ‑i yüksək‑DPI cihazları üçün daha dayanıqlı və əlavə hüquq idarəetməsi üçün seçimli edəcək.
Təhlükəsizlik şüuruZip‑bomb hücumları (kiçik ZIP → çıxarıldıqda gigabaytlara çevrilir) real bir təhdiddir.Oxuyucular artıq çıxarılma ölçüsü limitlərini tətbiq edir və təhlükəsiz kitabxanalardan istifadə edir (məsələn, Python‑un zipfile ilə yoxlamalar).

İnkişafçılar üçün Təhlükəsizlik Məsləhəti

CBZ çıxarılmadan əvvəl ümumi sıxılmamış ölçünü həmişə yoxlayın. Sadə bir yoxlama (Python nümunəsində göstərildiyi kimi) zərərli arxivlərin disk sahəsini və ya yaddaşı tükətməsinin qarşısını alır.


Oxuyucu CBZ‑i Əslində Necə Göstərir

  1. Arxivi açın – Tətbiq ZIP mərkəzi kataloqunu oxuyaraq girişlərin sürətli indeksini əldə edir.
  2. Şəkil fayllarını filtr edin – Şəkil olmayan girişlər (ComicInfo.xml, __MACOSX/, və s.) nəzərə alınmır.
  3. Alfabetik sırala – Sıfır‑dolğu adlandırma sayəsində, sıralanmış siyahı istənilən səhifə ardıcıllığına uyğun gəlir.
  4. Metadata‑ı təhlil edinComicInfo.xml mövcud olduqda, oxuyucu səhifə‑növ bayraqları, başlıq, müəllif və s. çıxarır və Advert və ya Deleted kimi işarələnmiş səhifələri gizlədə bilər.
  5. Səhifələri render etmək – Şəkillər dekodlaşdırılır (tez-tez müasir e‑ink planşetlərdə hardware‑sürətləndirilmiş JPEG/WebP dekoderləri ilə) və bir‑biri‑ardınca göstərilir, hamar sürüşmə üçün növbəti bir neçə səhifənin əvvəlcədən yüklənməsi ilə.
  6. Vəziyyəti saxlamaq – Oxuma mövqeyi, əlfəcinlər və şərhlər yerli olaraq saxlanılır və ya tətbiqə görə buluda sinxronlaşdırılır.

Bu boru kəməri CBZ-nin yerli PDF kimi sürətli və cavabdeh hiss etməsinin səbəbidir, lakin tamamilə açıq və redaktə edilə bilən qalır.


Nəticə: CBZ-nin zərifliyi sadəliyindədir — hər kəsin aça, redaktə edə və ya yenidən istifadə edə biləcəyi sadə ZIP. İstəyə bağlı ComicInfo.xml metadata, müasir şəkil kodekləri və yeni yaranan standartlarla, DRM‑sız, çoxplatformalı köklərinə sadiq qalaraq inkişaf etməyə davam edir.