Τελευταία Ενημέρωση: 28 Ιουλίου, 2026

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, κ.λπ.) συμπιεσμένος και μετονομασμένος. Αυτή η απλότητα είναι ο λόγος που αποτελεί το de‑facto πρότυπο για ψηφιακά κόμικς σε υπολογιστές, tablets και κινητά.
Μέσα σε ένα 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.xml | Προαιρετικό XML σύμφωνα με το σχήμα ComicRack | Αποθηκεύει τίτλο, συγγραφέα, σειρά, αριθμό τεύχους, γλώσσα, σημαίες τύπου σελίδας και ακόμη δεδομένα μικρογραφίας. Ενεργοποιεί ισχυρή διαχείριση βιβλιοθήκης. |
| Εικόνα εξώφυλλου | cover.jpg/cover.png στη ρίζα | Χρησιμοποιείται από πολλές εφαρμογές ως μικρογραφία του κόμικ στα γκαλερί. |
| Ονόματα αρχείων Unicode | Το σύγχρονο ZIP υποστηρίζει UTF‑8 | Απαραίτητο για μη λατινικούς τίτλους και διεθνή κόμικ. |
| Κεντρικός κατάλογος ZIP | Δείκτης στο τέλος του αρχείου | Οι αναγνώστες διαβάζουν αυτό για να δημιουργήσουν γρήγορα τη λίστα σελίδων· η αλλοίωση εδώ μπορεί να καταστρέψει ολόκληρο το CBZ. |
Επειδή το αρχείο συμπιέζει μόνο ήδη‑συμπιεσμένες εικόνες, το τελικό μέγεθος είναι συνήθως μόνο το άθροισμα των αρχικών αρχείων συν μερικά kilobytes επιπλέον του 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 (
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 |
|---|---|---|
| Διανομή πρώτα στο web | Οι εκδότες φιλοξενούν CBZ σε αποθήκευση cloud με προ‑υπογεγραμμένα URL. | Ταχύτερες, λήψεις χωρίς DRM· πιο εύκολη αυτοέκδοση. |
| Υβριδικά/διαδραστικά κόμικς | Η προσθήκη του index.html + των πόρων μέσα στο αρχείο δημιουργεί «βελτιωμένα» κόμικς (ήχο, βίντεο, HTML5). | Οι αναγνώστες που υποστηρίζουν προβολή web μπορούν να αποδώσουν πολυμεσικά στρώματα. |
| Υιοθέτηση του WebP & AVIF | ~15 % των νέων κυκλοφοριών (2024) χρησιμοποιούν αυτούς τους κωδικοποιητές. | Μείωση μεγέθους 30‑50 % διατηρώντας την ποιότητα—καίρια για το εύρος ζώνης των κινητών. |
| AI‑δημιουργημένα μεταδεδομένα | Εργαλεία όπως το ComicTagger πλέον χρησιμοποιούν OCR + LLMs για να συμπληρώσουν το ComicInfo.xml. | Καλύτερη ανακαλύψιμότητα, αυτοματοποιημένη ετικετοθέτηση και οργάνωση βιβλιοθήκης. |
| Εφαρμογές ανάγνωσης με συγχρονισμό στο σύννεφο | Το Chunky, το Perfect Viewer και άλλα συγχρονίζουν την πρόοδο μέσω Firebase/iCloud. | Απρόσκοπτη ανάγνωση σε τηλέφωνα, tablet και υπολογιστές. |
| Προώθηση τυποποίησης (CBZ v2.0) | Η DCI προτείνει ένα υποχρεωτικό manifest.json, περιουσιακά στοιχεία πολλαπλής ανάλυσης και μια σημαία <DRM>. | Θα κάνει το CBZ πιο ανθεκτικό για συσκευές υψηλής ανάλυσης DPI και προαιρετική διαχείριση δικαιωμάτων. |
| Ευαισθητοποίηση ασφαλείας | Οι επιθέσεις Zip‑bomb (μικρό ZIP → gigabytes όταν αποσυμπιέζεται) είναι μια πραγματική απειλή. | Οι αναγνώστες τώρα επιβάλλουν όρια μεγέθους εξαγωγής και χρησιμοποιούν ασφαλείς βιβλιοθήκες (π.χ., το zipfile της Python με ελέγχους). |
Συμβουλή Ασφαλείας για Προγραμματιστές
Πάντα να επαληθεύετε το συνολικό μέγεθος αποσυμπίεσης πριν εξάγετε ένα CBZ. Ένας απλός έλεγχος (όπως φαίνεται στο απόσπασμα Python) αποτρέπει τα κακόβουλα αρχεία από το να εξαντλήσουν τον χώρο δίσκου ή τη μνήμη.
Πώς ένας Αναγνώστης Πραγματικά Απεικονίζει ένα CBZ
- Ανοίξτε το αρχείο – Η εφαρμογή διαβάζει τον κεντρικό κατάλογο του ZIP για να πάρει έναν γρήγορο δείκτη των καταχωρήσεων.
- Φιλτράρετε τα αρχεία εικόνας – Οι μη‑εικονογραφικές καταχωρήσεις (
ComicInfo.xml,__MACOSX/, κλπ.) αγνοούνται. - Ταξινομήστε αλφαβητικά – Λόγω της ονομασίας με μηδενικά padding, η ταξινομημένη λίστα ταιριάζει με τη ζητούμενη σειρά σελίδων.
- Αναλύστε τα μεταδεδομένα – Εάν υπάρχει το
ComicInfo.xml, ο αναγνώστης εξάγει τις σημαίες τύπου σελίδας, τον τίτλο, τον συγγραφέα κλπ., και μπορεί να κρύψει σελίδες που έχουν επισημανθεί ωςAdvertήDeleted. - Απόδοση σελίδων – Οι εικόνες αποκωδικοποιούνται (συχνά με υλικοεπιταχυνόμενους αποκωδικοποιητές JPEG/WebP σε σύγχρονα e‑ink tablets) και εμφανίζονται μία‑μία, με προ‑φόρτωση των επόμενων μερικών σελίδων για ομαλή κύλιση.
- Διατήρηση κατάστασης – Η θέση ανάγνωσης, οι σελιδοδείκτες και οι σημειώσεις αποθηκεύονται τοπικά ή συγχρονίζονται στο σύννεφο, ανάλογα με την εφαρμογή.
Αυτή η αλυσίδα επεξεργασίας είναι ο λόγος που το CBZ φαίνεται τόσο γρήγορο και ανταποκριτικό όσο ένα εγγενές PDF, ενώ παραμένει εντελώς ανοιχτό και επεξεργάσιμο.
Συμπέρασμα: Η κομψότητα του CBZ έγκειται στην απλότητά του—ένα απλό ZIP που μπορεί να ανοίξει, να επεξεργαστεί ή να επαναχρησιμοποιηθεί οποιοσδήποτε. Με προαιρετικά μεταδεδομένα ComicInfo.xml, σύγχρονους κωδικοποιητές εικόνας και αναδυόμενα πρότυπα, συνεχίζει να εξελίσσεται διατηρώντας την αφοσίωσή του στις ρίζες χωρίς DRM‑free, cross‑platform.