<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>CBZ on File Format Blog</title>
    <link>https://blog.fileformat.com/lt/tag/cbz/</link>
    <description>Recent content in CBZ on File Format Blog</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>lt</language>
    <lastBuildDate>Tue, 28 Jul 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://blog.fileformat.com/lt/tag/cbz/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>CBZ viduje – Skaitmeninių komiksų anatomijos supratimas</title>
      <link>https://blog.fileformat.com/lt/ebook/inside-the-cbz-anatomy-of-digital-comics/</link>
      <pubDate>Tue, 28 Jul 2026 00:00:00 +0000</pubDate>
      
      <guid>https://blog.fileformat.com/lt/ebook/inside-the-cbz-anatomy-of-digital-comics/</guid>
      <description>Sužinokite, kas yra CBZ komiksų failas, jo paprasta ZIP struktūra, metaduomenų parinktys ir šiuolaikiniai vaizdo formatai – atveriami bet kuriame įrenginyje be DRM.</description>
      <content:encoded><![CDATA[<p><strong>Paskutinį kartą atnaujinta</strong>: 28 July, 2026</p>
<figure class="align-center ">
    <img loading="lazy" src="images/inside-the-cbz-anatomy-of-digital-comics.webp#center"
         alt="Inside the CBZ - Understanding the Anatomy of Digital Comics"/> 
</figure>

<p><strong>TL;DR</strong> CBZ (Comic Book Zip) nėra niekas kitas, kaip įprastas ZIP archyvas, kuris sujungia seriją nuoseklių paveikslų failų – kartu su pasirenkamais metaduomenimis – į vieną, be DRM apsaugos komiksų konteinerį. Kadangi jis remiasi plačiai paplitusia ZIP forma, bet kuri archyvavimo priemonė gali jį atverti, o skaityklės tiesiog surikiuoja paveikslus abėcėlės tvarka, kad parodytų puslapius teisinga seka. Šiuolaikiniai CBZ dažnai apima <code>ComicInfo.xml</code> turtingiems bibliotekos duomenims, naudoja efektyvius vaizdo kodekus, tokius kaip WebP/AVIF, ir net įterpia HTML interaktyviems „patobulintiems“ komiksams.</p>
<hr>
<h2 id="kas-tiksliai-yra-cbz">Kas tiksliai yra CBZ?</h2>
<ul>
<li><strong>Pavadinimas</strong>: <em>Comic Book Zip</em> – ZIP failas su <code>.cbz</code> plėtiniu.</li>
<li><strong>MIME tipas</strong>: <code>application/vnd.comicbook+zip</code> (registruotas IANA 2012 m.).</li>
<li><strong>Kilmė</strong>: Populiarino ComicRack bendruomenė (2005‑2008) kaip atviro kodo alternatyvą nuosavybinėms formatams, tokiems kaip CBR arba PDF.</li>
<li><strong>Kelių platformų</strong>: Atveriamas bet kuria ZIP‑suderinama programa (7‑Zip, WinRAR, macOS Archive Utility, Linux <code>unzip</code>). Nereikia specialios programinės įrangos turinio peržiūrai.</li>
</ul>
<p>Praktiškai CBZ yra tiesiog aplankas su vaizdais (JPEG, PNG, WebP ir kt.), suspaustas į zip ir pervadintas. Šis paprastumas yra priežastis, kodėl tai yra de‑facto standartas skaitmeniniams komiksams PC, planšetėse ir telefonuose.</p>
<hr>
<h2 id="cbz-viduje-failo-struktūra">CBZ viduje: Failo struktūra</h2>
<p>Tvarkingai suformuotas CBZ laikosi plokščios hierarchijos—be papildomo įdėjimo—kad skaitytojai galėtų iš karto rasti puslapius. Žemiau pateikiamas tipinis medžio vaizdas:</p>
<pre tabindex="0"><code>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
</code></pre><h3 id="pagrindiniai-elementai">Pagrindiniai elementai</h3>
<table>
<thead>
<tr>
<th>Elementas</th>
<th>Kas tai yra</th>
<th>Kodėl tai svarbu</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Sekos vaizdo failai</strong></td>
<td>Pavadinti taip, kad jie būtų surūšiuoti abėcėlės tvarka (<code>001.jpg</code>, <code>002.jpg</code>, …)</td>
<td>Užtikrina teisingą puslapių tvarką visų skaitytojų atžvilgiu.</td>
</tr>
<tr>
<td><strong>Vaizdo formatas</strong></td>
<td>JPEG, PNG, GIF, WebP, AVIF, BMP, TIFF</td>
<td>Nustato failo dydį, vaizdo tikslumą ir įrenginio suderinamumą.</td>
</tr>
<tr>
<td><strong>ComicInfo.xml</strong></td>
<td>Pasirinktinė XML, atitinkanti ComicRack schemą</td>
<td>Saugo pavadinimą, autorių, seriją, leidinio numerį, kalbą, puslapio tipų žymas ir net miniatiūrų duomenis. Leidžia efektyvią bibliotekos valdymą.</td>
</tr>
<tr>
<td><strong>Viršelio paveikslėlis</strong></td>
<td><code>cover.jpg</code>/<code>cover.png</code> šakniniame kataloge</td>
<td>Naudojama daugelio programų kaip komiksų miniatiūra galerijose.</td>
</tr>
<tr>
<td><strong>Unicode failų pavadinimai</strong></td>
<td>Modernus ZIP palaiko UTF‑8</td>
<td>Būtina ne lotyniškiems pavadinimams ir tarptautiniams komiksams.</td>
</tr>
<tr>
<td><strong>ZIP centrinis katalogas</strong></td>
<td>Indeksas archyvo pabaigoje</td>
<td>Skaitytojai skaito tai, kad greitai sukurtų puslapių sąrašą; sugadinimas čia gali sugadinti visą CBZ.</td>
</tr>
</tbody>
</table>
<p>Kadangi archyvas suspaudžia tik jau suspaustus vaizdus, galutinis dydis paprastai yra tik originalių failų suma, plius keli kilobaitai ZIP papildomų duomenų (&lt; 5 %).</p>
<hr>
<h2 id="metaduomenų-magija-comicinfoxml-ir-puslapio-tipų-žymės">Metaduomenų magija: <code>ComicInfo.xml</code> ir puslapio tipų žymės</h2>
<p>Nors CBZ veikia puikiai be jokių papildomų failų, pridėjus <code>ComicInfo.xml</code> paprasta vaizdų krūva tampa ieškoma, gausiai aprašyta komiksų knyga. Štai minimalus pavyzdys:</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-xml" data-lang="xml"><span style="display:flex;"><span><span style="color:#75715e">&lt;?xml version=&#34;1.0&#34; encoding=&#34;utf-8&#34;?&gt;</span>
</span></span><span style="display:flex;"><span><span style="color:#f92672">&lt;ComicInfo&gt;</span>
</span></span><span style="display:flex;"><span>  <span style="color:#f92672">&lt;Title&gt;</span>Starship Voyager<span style="color:#f92672">&lt;/Title&gt;</span>
</span></span><span style="display:flex;"><span>  <span style="color:#f92672">&lt;Series&gt;</span>Space Adventures<span style="color:#f92672">&lt;/Series&gt;</span>
</span></span><span style="display:flex;"><span>  <span style="color:#f92672">&lt;Number&gt;</span>12<span style="color:#f92672">&lt;/Number&gt;</span>
</span></span><span style="display:flex;"><span>  <span style="color:#f92672">&lt;Writer&gt;</span>Jane Doe<span style="color:#f92672">&lt;/Writer&gt;</span>
</span></span><span style="display:flex;"><span>  <span style="color:#f92672">&lt;Penciller&gt;</span>John Smith<span style="color:#f92672">&lt;/Penciller&gt;</span>
</span></span><span style="display:flex;"><span>  <span style="color:#f92672">&lt;Inker&gt;</span>Alex Lee<span style="color:#f92672">&lt;/Inker&gt;</span>
</span></span><span style="display:flex;"><span>  <span style="color:#f92672">&lt;Publisher&gt;</span>Galaxy Press<span style="color:#f92672">&lt;/Publisher&gt;</span>
</span></span><span style="display:flex;"><span>  <span style="color:#f92672">&lt;Year&gt;</span>2024<span style="color:#f92672">&lt;/Year&gt;</span>
</span></span><span style="display:flex;"><span>  <span style="color:#f92672">&lt;LanguageISO&gt;</span>en<span style="color:#f92672">&lt;/LanguageISO&gt;</span>
</span></span><span style="display:flex;"><span>  <span style="color:#f92672">&lt;PageCount&gt;</span>50<span style="color:#f92672">&lt;/PageCount&gt;</span>
</span></span><span style="display:flex;"><span>  <span style="color:#f92672">&lt;Pages&gt;</span>
</span></span><span style="display:flex;"><span>    <span style="color:#f92672">&lt;Page</span> <span style="color:#a6e22e">Image=</span><span style="color:#e6db74">&#34;001.jpg&#34;</span> <span style="color:#a6e22e">Type=</span><span style="color:#e6db74">&#34;FrontCover&#34;</span><span style="color:#f92672">/&gt;</span>
</span></span><span style="display:flex;"><span>    <span style="color:#f92672">&lt;Page</span> <span style="color:#a6e22e">Image=</span><span style="color:#e6db74">&#34;002.jpg&#34;</span> <span style="color:#a6e22e">Type=</span><span style="color:#e6db74">&#34;Story&#34;</span><span style="color:#f92672">/&gt;</span>
</span></span><span style="display:flex;"><span>    <span style="color:#f92672">&lt;Page</span> <span style="color:#a6e22e">Image=</span><span style="color:#e6db74">&#34;025.jpg&#34;</span> <span style="color:#a6e22e">Type=</span><span style="color:#e6db74">&#34;DoublePage&#34;</span><span style="color:#f92672">/&gt;</span>
</span></span><span style="display:flex;"><span>    <span style="color:#f92672">&lt;Page</span> <span style="color:#a6e22e">Image=</span><span style="color:#e6db74">&#34;050.jpg&#34;</span> <span style="color:#a6e22e">Type=</span><span style="color:#e6db74">&#34;BackCover&#34;</span><span style="color:#f92672">/&gt;</span>
</span></span><span style="display:flex;"><span>  <span style="color:#f92672">&lt;/Pages&gt;</span>
</span></span><span style="display:flex;"><span><span style="color:#f92672">&lt;/ComicInfo&gt;</span>
</span></span></code></pre></div><p><strong>Kodėl vargintis?</strong></p>
<ul>
<li><strong>Bibliotekos įrankiai</strong> (ComicRack, Calibre ir kt.) gali rūšiuoti, filtruoti ir ieškoti pagal šiuos laukus.</li>
<li><strong>Puslapio tipo vėliavos</strong> (<code>FrontCover</code>, <code>BackCover</code>, <code>Advert</code>, <code>Deleted</code> ir kt.) leidžia skaitytojams slėpti skelbimus, rodyti tik istorijos puslapius arba rodyti pasirinktą viršelio miniatiūrą.</li>
<li><strong>Ateities apsauga</strong> – Kadangi Digital Comics Initiative rengia CBZ v2.0 specifikaciją, manifestas (<code>manifest.json</code>) gali tapti privalomu, tačiau esami skaitytuvai vis tiek gerbs <code>ComicInfo.xml</code>.</li>
</ul>
<hr>
<h2 id="cbz-failų-kūrimas--konvertavimas-žingsnis-po-žingsnio">CBZ failų kūrimas &amp; konvertavimas (žingsnis po žingsnio)</h2>
<h3 id="1-paruoškite-savo-paveikslus">1. Paruoškite savo paveikslus</h3>
<ul>
<li>Eksportuokite kiekvieną komiksų puslapį kaip paveikslėlį.</li>
<li>Pavadinkite juos nulių užpildytais numeriais (<code>001.jpg</code>, <code>002.jpg</code>, …), kad užtikrintumėte teisingą rikiavimą.</li>
<li>Pasirinkite kodeką, kuris tinka jūsų auditorijai: JPEG – mažiausiam dydžiui, PNG – be praradimų menui, WebP/AVIF – modernam, aukštos kokybės suspaudimui.</li>
</ul>
<h3 id="2-pasirinktinai-generuokite-metaduomenis">2. (Pasirinktinai) Generuokite metaduomenis</h3>
<p>Įrankiai, tokie kaip <strong>ComicTagger</strong>, <strong>cbr2cbz</strong>, arba pasirinktinos skriptai, gali automatiškai užpildyti <code>ComicInfo.xml</code> naudodami OCR + LLM. Šis žingsnis yra neprivalomas, bet labai rekomenduojamas didelėms bibliotekoms.</p>
<h3 id="3-suspauskite-į-zip">3. Suspauskite į ZIP</h3>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span><span style="color:#75715e"># Navigate to the folder containing the pages</span>
</span></span><span style="display:flex;"><span>cd /path/to/pages
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#75715e"># Create a CBZ without extra compression (JPEGs are already compressed)</span>
</span></span><span style="display:flex;"><span>zip -0 -r ../MyComic.cbz *.jpg *.png ComicInfo.xml cover.jpg
</span></span><span style="display:flex;"><span><span style="color:#75715e"># -0 = store (no compression) – speeds up the process</span>
</span></span></code></pre></div><p>Pervadinkite gautą <code>.zip</code> į <code>.cbz</code>, jei jūsų archyvavimo programa to nepadarė automatiškai.</p>
<h3 id="4-patikrinkite-archyvą">4. Patikrinkite archyvą</h3>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-python" data-lang="python"><span style="display:flex;"><span><span style="color:#f92672">import</span> zipfile<span style="color:#f92672">,</span> pathlib<span style="color:#f92672">,</span> sys
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">def</span> <span style="color:#a6e22e">list_pages</span>(cbz_path: pathlib<span style="color:#f92672">.</span>Path):
</span></span><span style="display:flex;"><span>    <span style="color:#66d9ef">with</span> zipfile<span style="color:#f92672">.</span>ZipFile(cbz_path, <span style="color:#e6db74">&#39;r&#39;</span>) <span style="color:#66d9ef">as</span> z:
</span></span><span style="display:flex;"><span>        <span style="color:#75715e"># Guard against zip‑bombs (max 500 MB uncompressed)</span>
</span></span><span style="display:flex;"><span>        total <span style="color:#f92672">=</span> sum(z<span style="color:#f92672">.</span>getinfo(name)<span style="color:#f92672">.</span>file_size <span style="color:#66d9ef">for</span> name <span style="color:#f92672">in</span> z<span style="color:#f92672">.</span>namelist())
</span></span><span style="display:flex;"><span>        <span style="color:#66d9ef">if</span> total <span style="color:#f92672">&gt;</span> <span style="color:#ae81ff">500</span> <span style="color:#f92672">*</span> <span style="color:#ae81ff">1024</span> <span style="color:#f92672">*</span> <span style="color:#ae81ff">1024</span>:
</span></span><span style="display:flex;"><span>            <span style="color:#66d9ef">raise</span> <span style="color:#a6e22e">ValueError</span>(<span style="color:#e6db74">&#34;Archive too large&#34;</span>)
</span></span><span style="display:flex;"><span>        images <span style="color:#f92672">=</span> [n <span style="color:#66d9ef">for</span> n <span style="color:#f92672">in</span> z<span style="color:#f92672">.</span>namelist()
</span></span><span style="display:flex;"><span>                  <span style="color:#66d9ef">if</span> n<span style="color:#f92672">.</span>lower()<span style="color:#f92672">.</span>endswith((<span style="color:#e6db74">&#39;.jpg&#39;</span>, <span style="color:#e6db74">&#39;.jpeg&#39;</span>, <span style="color:#e6db74">&#39;.png&#39;</span>, <span style="color:#e6db74">&#39;.webp&#39;</span>, <span style="color:#e6db74">&#39;.avif&#39;</span>))]
</span></span><span style="display:flex;"><span>        images<span style="color:#f92672">.</span>sort()  <span style="color:#75715e"># natural alphabetical order</span>
</span></span><span style="display:flex;"><span>        <span style="color:#66d9ef">return</span> images
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">if</span> __name__ <span style="color:#f92672">==</span> <span style="color:#e6db74">&#34;__main__&#34;</span>:
</span></span><span style="display:flex;"><span>    cbz <span style="color:#f92672">=</span> pathlib<span style="color:#f92672">.</span>Path(sys<span style="color:#f92672">.</span>argv[<span style="color:#ae81ff">1</span>])
</span></span><span style="display:flex;"><span>    <span style="color:#66d9ef">for</span> page <span style="color:#f92672">in</span> list_pages(cbz):
</span></span><span style="display:flex;"><span>        print(page)
</span></span></code></pre></div><p>Vykdant <code>python list_pages.py MyComic.cbz</code> turėtų būti išspausdintas tvarkingas, surikiuotas puslapių failų pavadinimų sąrašas.</p>
<h3 id="5-konvertuokite-į-pdf-jei-jums-reikia-spausdinamos-versijos">5. Konvertuokite į PDF (jei jums reikia spausdinamos versijos)</h3>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span>unzip -q MyComic.cbz -d tmp_pages
</span></span><span style="display:flex;"><span>convert tmp_pages/*.jpg MyComic.pdf   <span style="color:#75715e"># ImageMagick&#39;s `convert`</span>
</span></span><span style="display:flex;"><span>rm -r tmp_pages
</span></span></code></pre></div><hr>
<h2 id="trendai-saugumas-ir-cbz-ateitis">Trendai, saugumas ir CBZ ateitis</h2>
<table>
<thead>
<tr>
<th>Tendencija</th>
<th>Kas vyksta</th>
<th>Poveikis CBZ</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Web‑first platinimas</strong></td>
<td>Leidėjai talpina CBZ failus debesų saugyklose su iš anksto pasirašytais URL.</td>
<td>Greitesni, be DRM atsisiuntimai; lengvesnis savarankiškas leidyba.</td>
</tr>
<tr>
<td><strong>Hibridiniai / interaktyvūs komiksai</strong></td>
<td>Pridėjus <code>index.html</code> + išteklius į archyvą sukuriami „patobulinti“ komiksai (audio, video, HTML5).</td>
<td>Skaitytuvai, kurie palaiko žiniatinklio peržiūrą, gali atvaizduoti multimedijos sluoksnius.</td>
</tr>
<tr>
<td><strong>WebP ir AVIF priėmimas</strong></td>
<td>~15 % naujų leidimų (2024) naudoja šiuos kodekus.</td>
<td>30‑50 % dydžio sumažėjimas, išlaikant kokybę — svarbu mobiliojo ryšio pralaidumui.</td>
</tr>
<tr>
<td><strong>Dirbtinio intelekto generuoti metaduomenys</strong></td>
<td>Įrankiai, tokie kaip <em>ComicTagger</em>, dabar naudoja OCR + LLM, kad užpildytų <code>ComicInfo.xml</code>.</td>
<td>Geresnis aptikimas, automatizuotas žymėjimas ir bibliotekos organizavimas.</td>
</tr>
<tr>
<td><strong>Debesų sinchronizacijos skaitymo programos</strong></td>
<td>Chunky, Perfect Viewer ir kiti sinchronizuoja progresą per Firebase/iCloud.</td>
<td>Sklandus skaitymas telefonuose, planšetėse ir darbalaukiuose.</td>
</tr>
<tr>
<td><strong>Standartizacijos skatinimas (CBZ v2.0)</strong></td>
<td>DCI siūlo privalomą <code>manifest.json</code>, daugiatrakčių išteklių ir <code>&lt;DRM&gt;</code> vėliavą.</td>
<td>Tai padarys CBZ patvaresnį aukštos DPI įrenginiams ir suteiks galimybę naudoti pasirenkamą teisių valdymą.</td>
</tr>
<tr>
<td><strong>Saugumo sąmoningumas</strong></td>
<td>Zip‑bomb atakos (mažas ZIP → gigabaitai išskleidus) yra reali grėsmė.</td>
<td>Skaityklos dabar taiko išskleidimo dydžio ribas ir naudoja saugias bibliotekas (pvz., Python <code>zipfile</code> su patikrinimais).</td>
</tr>
</tbody>
</table>
<h3 id="saugumo-patarimas-kūrėjams">Saugumo patarimas kūrėjams</h3>
<p>Visada patikrinkite bendrą neišskleistą dydį <strong>prieš</strong> išskleidžiant CBZ. Paprastas patikrinimas (kaip parodyta Python ištraukoje) neleidžia kenkėjiškoms archyvams išnaudoti disko vietą ar atmintį.</p>
<hr>
<h2 id="kaip-skaityklė-iš-tikrųjų-atvaizduoja-cbz">Kaip skaityklė iš tikrųjų atvaizduoja CBZ</h2>
<ol>
<li><strong>Atidarykite archyvą</strong> – Programa skaito ZIP centrinį katalogą, kad gautų greitą įrašų indeksą.</li>
<li><strong>Filtruokite paveikslų failus</strong> – Ne‑paveikslų įrašai (<code>ComicInfo.xml</code>, <code>__MACOSX/</code>, ir kt.) yra ignoruojami.</li>
<li><strong>Rikiuokite abėcėlės tvarka</strong> – Dėl nuliais užpildytų pavadinimų, surūšiuotas sąrašas atitinka numatytą puslapių tvarką.</li>
<li><strong>Apdorokite meta duomenis</strong> – Jei egzistuoja <code>ComicInfo.xml</code>, skaityklė išskiria puslapio tipų vėliavas, pavadinimą, autorių ir t.t., ir gali slėpti puslapius, pažymėtus kaip <code>Advert</code> arba <code>Deleted</code>.</li>
<li><strong>Rodyti puslapius</strong> – Vaizdai dekoduojami (dažnai naudojant aparatūrinį pagreitintą JPEG/WebP dekoderį moderniuose e‑ink planšetėse) ir rodomi po vieną, su ankstesniu kelių kitų puslapių iš anksto įkėlimu sklandžiam slinkimui.</li>
<li><strong>Išsaugoti būseną</strong> – Skaitymo pozicija, žymės ir anotacijos išsaugomos lokaliai arba sinchronizuojamos su debesimi, priklausomai nuo programos.</li>
</ol>
<p>Ši procesų grandinė paaiškina, kodėl CBZ jaučiasi toks pat greitas ir reaguojantis kaip natūralus PDF, tačiau lieka visiškai atviras ir redaguojamas.</p>
<hr>
<p><strong>Pagrindinė mintis:</strong> CBZ elegancija slypi jos paprastume – paprastas ZIP, kurį bet kas gali atverti, redaguoti arba panaudoti kitaip. Su pasirinktiniais <code>ComicInfo.xml</code> metaduomenimis, šiuolaikiniais vaizdo kodekais ir besiformuojančiais standartais, ji toliau tobulėja, išlikdama ištikima savo DRM‑nemokamai, platformų nepriklausomai šakniai.</p>
<!-- raw HTML omitted -->
]]></content:encoded>
    </item>
    
  </channel>
</rss>
