עדכון אחרון: 28 יולי, 2026

Inside the CBZ - Understanding the Anatomy of Digital Comics

TL;DR CBZ (Comic Book Zip) הוא לא יותר מאשר ארכיון ZIP סטנדרטי שמאגד סדרת קבצי תמונה ברצף — בנוסף למטא‑דאטה אופציונלי — למיכל קומי ללא DRM. מכיוון שהוא מסתמך על פורמט ה‑ZIP הנפוץ, כל כלי ארכיב יכול לפתוח אותו, והקוראים פשוט ממיינים את התמונות אלפביתית כדי להציג את העמודים בסדר. קבצי CBZ מודרניים כוללים לעיתים קרובות ComicInfo.xml לנתוני ספרייה עשירים, משתמשים בקודקים יעילים כמו WebP/AVIF, ואף משבצים HTML לקומיקס “משופרים” אינטראקטיביים.


מה בדיוק זה CBZ?

  • שם: Comic Book Zip – קובץ ZIP עם הסיומת .cbz.
  • סוג MIME: application/vnd.comicbook+zip (רשום ב‑IANA בשנת 2012).
  • מקורות: הפך לפופולרי על ידי קהילת ComicRack (2005‑2008) כחלופה קוד פתוח לפורמטים קנייניים כגון CBR או PDF.
  • חוצה‑פלטפורמות: ניתן לפתוח עם כל כלי תואם ZIP (7‑Zip, WinRAR, macOS Archive Utility, Linux unzip). אין צורך בתוכנה מיוחדת כדי לבדוק את התוכן.

בפועל, קובץ CBZ הוא רק תיקייה של תמונות (JPEG, PNG, WebP, וכו’) שנדחס ושונה שם. הפשטות הזו היא הסיבה לכך שהוא הפורמט הסטנדרטי בפועל לקומיקס דיגיטלי במחשבים, בטאבלטים ובטלפונים.


בפנים של CBZ: מבנה הקובץ

קובץ CBZ מעוצב כראוי פועל על היררכיה שטוחה—בלי קידוד נוסף—כך שהקוראים יכולים לאתר דפים מיידית. למטה מוצג תצוגת עץ טיפוסית:

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

מרכיבים מרכזיים

אלמנטמה זהלמה זה חשוב
קבצי תמונה רצופיםנקראים כך שהם ממוקמים אלפביתית (001.jpg, 002.jpg, …)מבטיח סדר דפים נכון בכל קורא.
פורמט תמונהJPEG, PNG, GIF, WebP, AVIF, BMP, TIFFקובע את גודל הקובץ, האמינות הוויזואלית וההתאמה למכשירים.
ComicInfo.xmlXML אופציונלי בהתאם לסכמת ComicRackמאחסן כותרת, מחבר, סדרה, מספר גיליון, שפה, דגלוני סוגי דפים, ואף נתוני תמונה ממוזערת. מאפשר ניהול ספרייה חזק.
תמונת עטיפהcover.jpg/cover.png ב‑שורשמשמש על ידי אפליקציות רבות כתמונה המוקטנת של הקומיקס בגלריות.
קבצי שם ב‑UnicodeZIP מודרני תומך ב‑UTF‑8חיוני לכותרות שאינן‑לטיניות וקומיקסים בינלאומיים.
ספריית מרכזית של ZIPאינדקס בסוף הארכיוןקוראים קוראים זאת כדי לבנות את רשימת העמודים במהירות; נזק כאן יכול לשבור את כל קובץ ה‑CBZ.

מאחר שהארכיון מכווץ רק תמונות שכבר נדחסו, הגודל הסופי הוא בדרך כלל סכום הקבצים המקוריים בתוספת כמה קילובייטים של עומס ZIP (< 5 %).


קוסמת המטא‑נתונים: ComicInfo.xml ותגי סוג‑דף

בעוד קובץ CBZ פועל בצורה מושלמת ללא קבצים נוספים, הוספת ComicInfo.xml הופכת ערימת תמונות פשוטה לקומיקס שניתן לחיפוש ומתואר בעושר. הנה דוגמה מינימלית:

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

למה להתעסק?

  • כלי ספרייה (ComicRack, Calibre, וכו’) יכולים למיין, לסנן ולחפש בהתבסס על השדות האלה.
  • דגלי סוגי דפים (FrontCover, BackCover, Advert, Deleted, וכו’) מאפשרים לקוראים להסתיר פרסומות, להציג רק דפי סיפור, או להציג תמונה ממוזערת מותאמת של הכריכה.
  • הכנה לעתיד – כאשר יוזמת Digital Comics Initiative מנסחת מפרט CBZ v2.0, קובץ מניפסט (manifest.json) עשוי להפוך לחובה, אך קוראים קיימים עדיין יכבדו את ComicInfo.xml.

יצירת והמרת קבצי CBZ (שלב‑אחר‑שלב)

1. הכנת התמונות שלך

  • ייצא כל דף של הקומיקס כתמונה.
  • תן להם שמות עם מספרים מאופסים מראש (001.jpg, 002.jpg, …) כדי להבטיח מיון נכון.
  • בחר את הקודק שמותאם לקהל שלך: JPEG לגודל הקטן ביותר, PNG לאמנות ללא אובדן, WebP/AVIF לדחיסה מודרנית ואיכותית.

2. (אופציונלי) יצירת מטא‑נתונים

כלים כמו ComicTagger, cbr2cbz, או סקריפטים מותאמים אישית יכולים למלא אוטומטית את ComicInfo.xml באמצעות OCR + LLMs. שלב זה הוא אופציונלי אך מומלץ מאוד עבור ספריות גדולות.

3. דחוס את הקבצים

# 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

שנה את שם הקובץ .zip שהתקבל ל-.cbz אם הארכיבר שלך לא ביצע זאת אוטומטית.

4. אימות הארכיון

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 אמורה להדפיס רשימה נקייה ומסודרת של שמות קבצי העמודים.

5. המרה ל‑PDF (אם אתה צריך גרסה להדפסה)

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

מגמות, אבטחה והעתיד של CBZ

מגמהמה קורההשפעה על CBZ
הפצה ראשונה באינטרנטהמוֹפְעִים מארחים קבצי CBZ באחסון ענן עם URL‑ים חתומים מראש.הורדות מהירות יותר, ללא DRM; פרסום עצמי קל יותר.
קומיקס היברידי/אינטראקטיביהוספת index.html + נכסים בתוך הארכיון יוצר קומיקס “משופר” (audio, video, HTML5).קוראים שתומכים בתצוגת אינטרנט יכולים להציג שכבות מולטימדיה.
אימוץ של WebP & AVIF~15 % מההוצאות החדשות (2024) משתמשים בקודקים אלה.הפחתת גודל של 30‑50 % תוך שמירה על האיכות—קריטי לרוחב הפס במובייל.
מטא‑נתונים שנוצרו על‑ידי AIכלים כמו ComicTagger כעת משתמשים ב‑OCR + LLMs כדי למלא את ComicInfo.xml.גילוי טוב יותר, תיוג אוטומטי וארגון הספרייה.
אפליקציות קריאה עם סנכרון ענןChunky, Perfect Viewer ואחרים מסנכרנים התקדמות דרך Firebase/iCloud.קריאה חלקה במכשירי טלפון, טאבלט ומחשבים נייחים.
דחיפת תקינה (CBZ v2.0)DCI מציעה manifest.json חובה, נכסים ברזולוציות מרובות, ודגל <DRM>.יהפוך את CBZ לעמיד יותר במכשירי DPI גבוה וניהול זכויות אופציונלי.
מודעות לאבטחההתקפות Zip‑bomb (קובץ ZIP קטן → גיגבייטים כאשר מחולצים) הן איום אמיתי.קוראים כעת מטילים מגבלות על גודל החילוץ ומשתמשים בספריות בטוחות (למשל, zipfile של פייתון עם בדיקות).

טיפ אבטחה למפתחים

תמיד יש לאמת את הגודל הכולל של הקובץ הלא דחוס לפני חילוץ קובץ CBZ. בדיקה פשוטה (כפי שמוצגת בקטע הקוד של פייתון) מונעת מארכיונים זדוניים לצרוך את כל שטח הדיסק או הזיכרון.


איך קורא מציג בפועל קובץ CBZ

  1. פתח את הארכיון – האפליקציה קוראת את ספריית המרכז של ה‑ZIP כדי לקבל אינדקס מהיר של ערכים.
  2. סנן קבצי תמונה – ערכים שאינם תמונה (ComicInfo.xml, __MACOSX/, וכו’) מתעלמים מהם.
  3. מיין אלפביתית – בגלל השמות הממולאים באפסים, הרשימה הממוינת תואמת את סדר העמודים המתוכנן.
  4. פענח מטא‑נתונים – אם קיים ComicInfo.xml, הקורא מחלץ דגלי סוגי דפים, כותרת, מחבר, וכו’, ויכול להסתיר דפים המסומנים כ‑Advert או Deleted.
  5. Render pages – התמונות מפוענחות (לעיתים עם מפענחי JPEG/WebP המואצים בחומרה בטאבלטים מודרניים עם דיו אלקטרוני) ומוצגות אחת‑אחר‑השנייה, עם טעינה מוקדמת של כמה דפים הבאים לגלילה חלקה.
  6. Persist state – מיקום הקריאה, סימניות וההערות נשמרים מקומית או מסונכרנים לענן, בהתאם לאפליקציה.

זהו הצינור שמסביר מדוע CBZ מרגיש מהיר ותגובתי כמו PDF מקורי, ובכל זאת נשאר פתוח לחלוטין וניתן לעריכה.


Bottom line: היופי של CBZ טמון בפשטותו—קובץ ZIP פשוט שכל אחד יכול לפתוח, לערוך או להשתמש בו מחדש. עם מטא‑נתונים אופציונליים ComicInfo.xml, קודקי תמונה מודרניים, ותקנים מתפתחים, הוא ממשיך להתפתח תוך שמירה על שורשיו ללא DRM ורב‑פלטפורמיים.