<?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>Suspaudimas XLSX on File Format Blog</title>
    <link>https://blog.fileformat.com/lt/tag/suspaudimas-xlsx/</link>
    <description>Recent content in Suspaudimas XLSX on File Format Blog</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>lt</language>
    <lastBuildDate>Thu, 10 Sep 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://blog.fileformat.com/lt/tag/suspaudimas-xlsx/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Kaip suspaudimas veikia EPUB, DOCX, XLSX ir PPTX?</title>
      <link>https://blog.fileformat.com/lt/compression/how-compression-works-inside-epub-docx-xlsx-and-pptx/</link>
      <pubDate>Thu, 10 Sep 2026 00:00:00 +0000</pubDate>
      
      <guid>https://blog.fileformat.com/lt/compression/how-compression-works-inside-epub-docx-xlsx-and-pptx/</guid>
      <description>Ar kada nors susimąstėte, kas slypi .docx ar .epub failo viduje? Sužinokite, kaip ZIP pakavimas ir DEFLATE suspaudimas padaro šiuolaikinius biuro dokumentus ir el. knygas lengvus ir tvarkingus. </description>
      <content:encoded><![CDATA[<p><strong>Paskutinį kartą atnaujinta</strong>: 2026 m. rugsėjo 10 d.</p>
<figure class="align-center ">
    <img loading="lazy" src="images/how-compression-works-inside-epub-docx-xlsx-and-pptx.png#center"
         alt="How Compression Works Inside EPUB, DOCX, XLSX, &amp; PPTX: The Hidden ZIP Architecture"/> 
</figure>

<h2 id="kaip-suspaudimas-veikia-epub-docx-xlsx-ir-pptx">Kaip suspaudimas veikia EPUB, DOCX, XLSX ir PPTX</h2>
<p>Jei pervadinate <code>.docx</code>, <code>.xlsx</code>, <code>.pptx</code> arba <code>.epub</code> failą į <code>.zip</code> ir dukart spustelėsite jį, įvyksta netikėta situacija: jis neišmeta klaidos. Jūsų operacinė sistema atidaro jį kaip aplanką, kuriame yra poaplankiai, XML konfigūracijos failai, stiliaus lapai, šriftai ir įterptos nuotraukos.</p>
<p>Modernios dokumentų architektūros atsisakė monolitinių binarinių blokų prieš kelis dešimtmečius. Vietoje jų pramonės standartai — konkrečiai <strong>Open Packaging Conventions (OPC)</strong> „Microsoft Office“ ir <strong>Open Container Format (OCF)</strong> EPUB — priėmė netikėtai elegantišką pagrindą: kuklų <strong>ZIP archyvą</strong>.</p>
<p>Suprasdami, kaip suspaudimas veikia šiuose formatuose, atskleidžiama, kodėl modernūs dokumentai yra tokie patvarūs, lengvi ir išplečiami – ir kodėl kai kurie failai suspaudžiami 90 %, o kiti beveik nesumažėja.</p>
<h2 id="1-konteinerio-architektūra-maskuoti-zip9-paketai">1. Konteinerio architektūra: maskuoti <a href="https://docs.fileformat.com/compression/zip/">ZIP</a> paketai</h2>
<p>Prieš suprantant patį suspaudimo algoritmą, naudinga suprasti, kodėl modernūs dokumentų formatai struktūruoti kaip paketai, o ne kaip atskiri neapdoroti failai.</p>
<h3 id="problema-su-senų-dvejetainių-formatais">Problema su senų dvejetainių formatais</h3>
<p>1990-aisiais ir ankstyvaisiais 2000-aisiais „Microsoft Office“ naudojo nuosavus binarinius formatus (<code>.doc</code>, <code>.xls</code>, <code>.ppt</code>). Šie failai iš esmės buvo atminties išklotinės, struktūruotos pagal Compound File Binary Format (CFBF). Jie buvo garsiai trapūs:</p>
<ul>
<li>Vienas bitų pakitimas galėjo sugadinti visą failo struktūrą.</li>
<li>Įterpiant vaizdus, failų dydžiai nenuspėjamai didėjo.</li>
<li>Analizė reikalavo atvirkštinio tankių binarinių specifikacijų inžinerijos.</li>
<li>Kryžminės platformos tarpusavio suderinamumas buvo košmaras.</li>
</ul>
<h3 id="perėjimas-prie-atvirų-modulių-konteinerių">Perėjimas prie atvirų, modulių konteinerių</h3>
<p>2000‑ųjų viduryje įvyko dvi lygiagrečios evoliucijos:</p>
<ol>
<li><strong>Office Open XML (OOXML / ISO/IEC 29500):</strong> Microsoft pristatė XML pagrindu sukurtus formatus, baigiančius raide <code>x</code> (<a href="https://docs.fileformat.com/word-processing/docx/">DOCX</a>, <a href="https://docs.fileformat.com/spreadsheet/xlsx/">XLSX</a>, <a href="https://docs.fileformat.com/presentation/pptx/">PPTX</a>). Iš vidaus šie failai laikosi <strong>Open Packaging Conventions (OPC)</strong>.</li>
<li><strong><a href="https://docs.fileformat.com/ebook/epub/">EPUB</a> (IDPF / W3C):</strong> Skaitmeninė leidyba atsisakė nuosavų skaitytuvų formatų ir perėjo prie standartinės internetinės technologijos (HTML, CSS, SVG), supakuotos <strong>EPUB Open Container Format (OCF)</strong>.</li>
</ol>
<p>Abi architektūros remiasi standartine <strong>PKZIP 2.0 / ZIP specifikacija</strong>. Failo plėtinys tiesiog nurodo laukiamą schemą, numatytąją peržiūros programą ir MIME tipo deklaracijas.</p>
<pre tabindex="0"><code>Sample DOCX File (Unzipped):
├── [Content_Types].xml        &lt;-- Registry of MIME types for parts
├── _rels/                     &lt;-- Package-level relationships
│   └── .rels
├── docProps/                  &lt;-- Core and extended metadata
│   ├── app.xml
│   └── core.xml
└── word/                      &lt;-- Main content payload
    ├── document.xml           &lt;-- Text, paragraphs, and tags
    ├── styles.xml             &lt;-- Typography and presets
    ├── numbering.xml          &lt;-- Lists and counters
    ├── media/                 &lt;-- Embedded images (PNG, JPG)
    └── _rels/
        └── document.xml.rels  &lt;-- Internal hyperlinks &amp; resource pointers
</code></pre><h2 id="2-variklis-po-dangčiu-deflate-algoritmas">2. Variklis po dangčiu: DEFLATE algoritmas</h2>
<p>Kai programinė įranga išsaugo DOCX arba EPUB failą, ji ne tik įrašo failus į nespaustą archyvą. Ji suspaudžia vidinius išteklius naudodama <strong>DEFLATE</strong> (nurodytą RFC 1951).</p>
<p>DEFLATE yra dviejų lygių bepraradimo suspaudimo sistema, kuri sujungia du pagrindinius kompiuterių mokslo algoritmus:</p>
<h3 id="žingsnis-1-lz77-lempelziv-1977--slankiojančio-lango-perteklumo-šalinimas">Žingsnis 1: LZ77 (Lempel‑Ziv 1977) — Slankiojančio lango perteklumo šalinimas</h3>
<p>XML ir HTML yra itin žodingi. Pagalvokite, kaip dažnai žymės pasikartoja įprastame <code>document.xml</code> arba <code>chapter1.xhtml</code> faile:</p>
<ul>
<li><code>&lt;w:p&gt;&lt;w:r&gt;&lt;w:rPr&gt;&lt;w:sz w:val=&quot;24&quot;/&gt;&lt;/w:rPr&gt;&lt;w:t&gt;</code> kartojasi tūkstančius kartų Word programoje.</li>
<li><code>row r=&quot;1&quot; spans=&quot;1:15&quot;&gt;&lt;c r=&quot;A1&quot; t=&quot;s&quot;&gt;&lt;v&gt;</code> kartojasi „Excel“ tūkstančiais dešimčių tūkstančių langelių.</li>
<li><code>&lt;p class=&quot;calibre1&quot;&gt;&lt;span class=&quot;body-text&quot;&gt;</code> kartojasi per EPUB knygos skyrius.</li>
</ul>
<p>LZ77 skenuoja duomenų srautą naudojant slankų žodyno langą (dažniausiai 32 KB). Kai jis susiduria su simbolių eilute, kurią neseniai matė, jis pakeičia pasikartojantį tekstą mažu atgaliniu rodykliu:</p>
<ul>
<li><code>(distance, length)</code> — pvz., „grįžti 142 baitus, kopijuoti 28 baitus“.</li>
</ul>
<p>Vietoj to, kad nuolat saugotų išsamų žymėjimą, LZ77 suskleidžia tūkstančius pasikartojančių XML žymių į kompaktiškas koordinatų nuorodas.</p>
<h3 id="žingsnis-2-huffmano-kodavimas--kintamo-ilgio-dažnio-kodavimas">Žingsnis 2: Huffmano kodavimas — Kintamo ilgio dažnio kodavimas</h3>
<p>Po to, kai LZ77 pakeičia perteklines sekas ilgio‑atstumo žetonais, <strong>Huffman kodavimas</strong> analizuoja kiekvieno simbolio dažnį sraute:</p>
<ul>
<li>Dažnai pasikartantys simboliai (pvz., dažni simboliai <code>e</code>, <code>t</code>, tarpai arba dažni atstumo žymekliai) priskiriami trumpi dvejetainių bitų kodai (pvz., 2–4 bitai).</li>
<li>Retai naudojami simboliai gauna ilgesnius dvejetinius bitų kodus (pvz., 12–16 bitų).</li>
</ul>
<p>Rezultatas yra kintamo ilgio bitų kodų srautas, kuris suspaudžia paprastą tekstinį XML <strong>75%–88%</strong>.</p>
<h2 id="3-formatas-po-formato-analizė-kaip-kiekvienas-tvarko-suspaudimą">3. Formatas po formato analizė: Kaip kiekvienas tvarko suspaudimą</h2>
<p>Nors DOCX, XLSX, PPTX ir EPUB visi naudoja tą patį ZIP konteinerį, jų vidinių duomenų savybės labai skiriasi.</p>
<h3 id="a-docx-teksto-ir-stiliaus-subalansavimo-menas">A. DOCX: Teksto ir stiliaus subalansavimo menas</h3>
<ul>
<li><strong>Kas viduje:</strong> Paprastas XML (<code>word/document.xml</code>), šriftų lentelės, stiliai, ryšių katalogai ir <code>word/media/</code> aplankas.</li>
<li><strong>Kaip veikia suspaudimas:</strong>
<ul>
<li>Neapdorotas tekstas ir XML žymėjimas patiria didžiules suspaudimo santykius (dažnai sumažėja nuo 5 MB neapdoroto XML iki 500 KB).</li>
<li>Tačiau šiuolaikiniai dokumentai dažnai įterpia ekrano nuotraukas, iliustracijas ir nuotraukas. Kadangi JPEG ir PNG failai yra <strong>jau suspausti</strong>, DEFLATE jų dar labiau suspausti negali. Iš tiesų, taikant DEFLATE jau suspaustam vaizdui praktiškai neatsiranda 0 % taupymo (ir gali net šiek tiek padidinti dydį dėl suspaudimo antraščių).</li>
<li>Todėl DOCX failai be vaizdų yra nepaprastai maži, o vaizdais turtingi ataskaitos beveik atspindi tikslų jų turimų vaizdų failų dydį.</li>
</ul>
</li>
</ul>
<h3 id="b-xlsx-didelio-apimties-skaitiniai-duomenys-ir-bendri-simboliai">B. XLSX: Didelio apimties skaitiniai duomenys ir bendri simboliai</h3>
<p>Skaičiuoklės kelia unikalų iššūkį: lakštas gali turėti šimtus tūkstančių eilučių, todėl, jei nenaudojama protinga tvarka, XML failų dydžiai gali tapti astronomiškais.</p>
<ul>
<li><strong>Bendrų eilučių strategija (<code>xl/sharedStrings.xml</code>):</strong>
<ul>
<li>Jei teksto etiketė, pvz., „United States“ arba „In Progress“, pasirodo 50 000 kartų skaičiuoklės lentelėje, saugant <code>&lt;c t=\&quot;inlineStr\&quot;&gt;&lt;is&gt;&lt;t&gt;United States&lt;/t&gt;&lt;/is&gt;&lt;/c&gt;</code> 50 000 langelių, nekompresuotas XML išsiplės iki gigabaitų.</li>
<li>„Excel“ pašalina pasikartojančius tekstus prieš suspaudimą, saugodamas kiekvieną unikalią eilutę vieną kartą bendrojo eilučių lentelėje ir nurodydamas ją skaitiniu indeksu (pvz., <code>&lt;v&gt;0&lt;/v&gt;</code>, <code>&lt;v&gt;1&lt;/v&gt;</code>).</li>
</ul>
</li>
<li><strong>Kodėl XLSX suspaudžiamas dramatiškai:</strong>
<ul>
<li>Skaitiniai eilučių įrašai (<code>sheet1.xml</code>) turi pasikartojančią, prognozuojamą sintaksę.</li>
<li>„DEFLATE“ lengvai aptinka pasikartojančius modelius lentelės XML. Dažnai 120 MB neapdorotas <code>sheet1.xml</code> failas susitraukia iki mažiau nei 6 MB XLSX archyve.</li>
</ul>
</li>
</ul>
<h3 id="c-pptx-medijos-turtingi-skaidrių-rinkiniai">C. PPTX: Medijos turtingi skaidrių rinkiniai</h3>
<p>Pateiktys yra esminiai skiriasi nuo dokumentų ir skaičiuoklių lentelių:</p>
<ul>
<li><strong>Vaizdų dilema:</strong> PPTX failai paprastai dominuoja vektorinės formos, fono grafika, vaizdo įrašai ir aukštos raiškos skaidrės.</li>
<li><strong>Suspaudimo profilis:</strong> Nors <code>ppt/slides/slide1.xml</code> iki <code>slideN.xml</code> suspaudžiami efektyviai, medijos duomenų krūvis (<code>ppt/media/</code>) sudaro 85 %–95 % viso archyvo svorio.</li>
<li><strong>Kodėl iš naujo suspaudus PPTX nieko nesikeičia:</strong> Jei bandysite suspausti jau išsaugotą PPTX failą naudodami 7‑Zip arba WinRAR, pastebėsite beveik jokio dydžio sumažėjimo. Tai todėl, kad viduje jau yra DEFLATE suspaustas ZIP archyvas, kuriame yra iš anksto suspausti JPEG ir MP4 failai, todėl entropija jau yra beveik maksimalioje būsenoje.</li>
</ul>
<h3 id="d-epub-žiniatinklio-technologijos-su-privaloma-nesuspausta-antrašte">D. EPUB: Žiniatinklio technologijos su privaloma nesuspausta antrašte</h3>
<p>EPUB failas iš esmės yra reaguojanti, supakuota mikro svetainė, turinti XHTML skyrius, CSS stilių lapus, TTF/WOFF šriftus ir metaduomenis. Tačiau EPUB turi vieną griežtą pakavimo taisyklę, kuri jį skiria nuo Microsoft Office failų:</p>
<pre tabindex="0"><code>EPUB Internal Structure:
├── mimetype                    &lt;-- MUST be uncompressed (Stored) &amp; at byte offset 38
├── META-INF/
│   └── container.xml           &lt;-- Tells reader where the OPF manifest lives
└── OEBPS/ (or EPUB/)
    ├── content.opf             &lt;-- Manifest of all book assets
    ├── toc.ncx / nav.xhtml     &lt;-- Table of contents navigation
    ├── styles/style.css        &lt;-- CSS formatting
    ├── images/                 &lt;-- Book cover &amp; illustrations
    └── text/                   &lt;-- chapter1.xhtml, chapter2.xhtml
</code></pre><ul>
<li><strong>Magiškas <code>mimetype</code> failas:</strong>
<ul>
<li>E‑skaityklės turi iš karto atpažinti EPUB be viso archyvo išskleidimo ar dekompresijos procesų vykdymo.</li>
<li>Atviro konteinerio formatas (OCF) reikalauja, kad <code>mimetype</code> failas:
<ol>
<li>Turi būti pats pirmasis failas ZIP archyve.</li>
<li>Turi tiksliai turėti eilutę <code>application/epub+zip</code>.</li>
<li><strong>Negali būti suspaustas</strong> (ZIP suspaudimo metodas <code>0</code> / „Saugojama“).</li>
<li>Negali turėti papildomų laukų duomenų, užtikrinant, kad MIME eilutė visada prasidėtų 38 baito fiziniame faile.</li>
</ol>
</li>
</ul>
</li>
<li><strong>Teksto suspaudimas:</strong> Visi likę failai (<code>.xhtml</code>, <code>.css</code>, <code>.opf</code>) yra suspaudžiami naudojant standartinį DEFLATE (ZIP metodas <code>8</code>), leidžiant pilno ilgio romanams susitraukti iki kelių šimtų kilobaitų.</li>
</ul>
<h2 id="4-suspaudimo-palyginimas-tarp-formatų">4. Suspaudimo palyginimas tarp formatų</h2>
<table>
<thead>
<tr>
<th style="text-align:left">Formatas</th>
<th style="text-align:left">Pagrindinis duomenų krūvis</th>
<th style="text-align:left">Pagrindinis atsarginių duomenų šaltinis</th>
<th style="text-align:left">Įprastinis suspaudimo santykis (tekstas/žymėjimas)</th>
<th style="text-align:left">Medijos tvarkymas</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align:left"><strong>DOCX</strong></td>
<td style="text-align:left">WordprocessingML (<code>document.xml</code>)</td>
<td style="text-align:left">Pasikartojančios XML pastraipos/veiksmo žymės</td>
<td style="text-align:left">75% – 85%</td>
<td style="text-align:left">Saugojama <code>word/media/</code> (daugiausia iš anksto suspausta)</td>
</tr>
<tr>
<td style="text-align:left"><strong>XLSX</strong></td>
<td style="text-align:left">SpreadsheetML (<code>sheet*.xml</code>)</td>
<td style="text-align:left">Pasikartojančios ląstelių/eilučių žymės; Bendri eilutės</td>
<td style="text-align:left">80% – 92%</td>
<td style="text-align:left">Retas; vaizdai/diagramos kataloge <code>xl/media/</code></td>
</tr>
<tr>
<td style="text-align:left"><strong>PPTX</strong></td>
<td style="text-align:left">PresentationML (<code>slide*.xml</code>)</td>
<td style="text-align:left">Skaidrės išdėstymo metaduomenys, formų koordinatės</td>
<td style="text-align:left">70% – 80%</td>
<td style="text-align:left">Didelė <code>ppt/media/</code> apkrova riboja bendras taupymo galimybes</td>
</tr>
<tr>
<td style="text-align:left"><strong>EPUB</strong></td>
<td style="text-align:left">XHTML, CSS, OPF, NCX</td>
<td style="text-align:left">HTML žymės, pasikartojantys CSS selektoriai</td>
<td style="text-align:left">65% – 80%</td>
<td style="text-align:left"><code>mimetype</code> nesuspaustas; medija poaplankiuose</td>
</tr>
</tbody>
</table>
<h2 id="5-praktinės-išvados-kaip-optimizuoti-savo-dokumentus">5. Praktinės išvados: Kaip optimizuoti savo dokumentus</h2>
<p>Kadangi dabar žinote, kaip veikia vidinis pakavimas, galite pasinaudoti suspaudimo mechanizmais spręsti realaus pasaulio problemas:</p>
<ol>
<li><strong>Laužytų dokumentų taisymas:</strong>
Jei dokumentas atsisako atsidaryti, pakeitus plėtinį į <code>.zip</code> galite išskleisti turinį ir atkurti neapdorotą tekstą iš <code>document.xml</code> arba atskirų skyrių iš EPUB <code>text/</code> katalogo.</li>
<li><strong>Didelių Office failų suspaudimas:</strong>
Kadangi XML suspaudimas jau yra optimizuotas, milžiniški failai beveik visada kyla dėl neoptimizuotų vaizdų kataloge <code>media/</code>. Vietoj trečiųjų šalių PDF arba DOCX suspaudimo įrankių, atidarykite ZIP konteinerį, išskleiskite vaizdus, pritaikykite juos vaizdų optimizatoriui (pvz., WebP, TinyPNG arba MozJPEG) ir pakeiskite juos archyve.</li>
<li><strong>Dokumentų generavimo automatizavimas:</strong>
Kūrėjams nereikia sunkių biuro paketų ataskaitų kūrimui. Galite generuoti neapdorotus XML šablonus, supakuoti juos naudojant standartines zlib/ZIP bibliotekas ir programiškai per kelias milisekundes išvesti galiojančius DOCX arba XLSX failus.</li>
</ol>
<h2 id="6-dažnai-užduodami-klausimai-duk">6. Dažnai užduodami klausimai (DUK)</h2>
<p><strong>Ar galiu konvertuoti DOCX arba EPUB į ZIP failą tiesiog pervadindamas failo plėtinį?</strong> Taip; pervadinus plėtinį į <code>.zip</code> leidžia bet kuriam standartiniam archyvavimo įrankiui (pvz., 7‑Zip, macOS Archive Utility arba Windows Explorer) tiesiogiai atidaryti ir peržiūrėti vidinius failus.</p>
<p><strong>Kodėl suspaudus DOCX arba PPTX su 7‑Zip failas nebežymiai nesumažėja?</strong> Kadangi failas jau yra viduje suspaustas ZIP archyvas, kuriame yra DEFLATE koduotas XML ir iš anksto suspausti vaizdai, lieka minimalus perteklinis turinys, kurį išorinis įrankis galėtų pašalinti.</p>
<p><strong>Kodėl EPUB specifikacija reikalauja, kad <code>mimetype</code> failas būtų nesuspaustas?</strong> Tai leidžia e‑skaityklių programinei įrangai patikrinti, ar failas yra autentiškas EPUB, patikrinant MIME eilutę fiksuotoje baitų poslinkio vietoje, nereikia inicijuoti išskleidimo variklio.</p>
<p><strong>Ar ląstelių formatavimo keitimas Excel programoje padidina suspausto XLSX failo dydį?</strong> Taip; išsamus pasirinktinis formatavimas sulaužo vienodų modelių kartojimą tarp ląstelių, sukuriant ilgesnius XML apibrėžimus, kurie sumažina DEFLATE suspaudimo efektyvumą.</p>
<p><strong>Ar įmanoma ištraukti aukštos rezoliucijos originalius vaizdus iš Word arba PowerPoint failo be kokybės praradimo?</strong> Taip; pervadinkite failą į <code>.zip</code>, atidarykite <code>word/media</code> arba <code>ppt/media</code> aplanką ir rasite originalius, nesuspaustus šaltinio vaizdus tokiais, kokie jie buvo įterpti.</p>
<h2 id="taip-pat-žiūrėkite">Taip pat žiūrėkite</h2>
<ul>
<li><a href="https://blog.fileformat.com/compression/compression-file-formats-at-fileformat-com/">Suspaudimo failų formatai FileFormat.com</a></li>
<li><a href="https://blog.fileformat.com/compression/zip-bombs-exploding-your-storage/">ZIP bombos – Jūsų saugyklos sprogimas</a></li>
<li><a href="https://blog.fileformat.com/compression/what-is-7z-file-format-comprehensive-guide-and-faqs/">7z failo formato supratimas – Išsamus vadovas ir DUK</a></li>
<li><a href="https://blog.fileformat.com/compression/how-to-open-rar-files-with-best-rar-openers/">7 geriausi įrankiai RAR failų atidarymui arba išskleidimui</a></li>
</ul>
<!-- raw HTML omitted -->
]]></content:encoded>
    </item>
    
  </channel>
</rss>
