Utoljára frissítve: 2026. szeptember 10.

Hogyan működik a tömörítés az EPUB, DOCX, XLSX és PPTX fájlokban
Ha átnevezel egy .docx, .xlsx, .pptx vagy .epub fájlt .zip-re, és duplán kattintasz rá, valami meglepő történik: nem dob hibát. Az operációs rendszer mappaként nyitja meg, amely alkönyvtárakkal, XML konfigurációs fájlokkal, stíluslapokkal, betűtípusokkal és beágyazott képekkel van tele.
A modern dokumentumarchitektúrák évtizedekkel ezelőtt felhagytak a monolitikus bináris blobokkal. Helyettük ipari szabványok—nevezetesen a Microsoft Office számára a Open Packaging Conventions (OPC) és az EPUB-hez a Open Container Format (OCF)—alkottak egy meglepően elegáns alapot: az egyszerű ZIP archívum.
Megérteni, hogyan működik a tömörítés ezekben a formátumokban, feltárja, miért olyan ellenállóak, könnyűek és bővíthetőek a modern dokumentumok – és miért sűrűsödnek egyes fájlok akár 90%-kal, míg mások alig zsugorodnak.
1. A Konténer Architektúra: Álcázott ZIP Csomagok
Mielőtt megértenénk magát a tömörítési algoritmust, hasznos megérteni, miért vannak a modern dokumentumformátumok csomagokként felépítve, nem pedig önálló nyers fájlként.
A Probléma a Régi Bináris Formátumokkal
Az 1990-es évek és a 2000-es évek elején a Microsoft Office saját tulajdonú bináris formátumokat használt (.doc, .xls, .ppt). Ezek a fájlok lényegében memória-dumpok voltak, amelyek a Compound File Binary Format (CFBF) köré szerveződtek. Hírhedten törékenyek voltak:
- Egyetlen bitváltás is tönkreteheti az egész fájlszerkezetet.
- Képek beágyazása kiszámíthatatlanul felrobbantotta a fájlméreteket.
- A feldolgozáshoz sűrű bináris specifikációk visszafejtése volt szükséges.
- A többplatformos interoperabilitás rémálom volt.
Az Áttérés a Nyílt, Moduláris Konténerekre
A 2000-es évek közepén két párhuzamos evolúció zajlott le:
- Office Open XML (OOXML / ISO/IEC 29500): Microsoft bevezette az
x-re végződő XML-alapú formátumokat (DOCX, XLSX, PPTX). A háttérben ezek a fájlok követik a Open Packaging Conventions (OPC). - EPUB (IDPF / W3C): A digitális kiadók elmozdultak a proprietáris olvasóformátumoktól a szabványos webes technológiák (HTML, CSS, SVG) felé, amelyek az EPUB Open Container Format (OCF)-ben vannak csomagolva.
Mindkét architektúra a szabványos PKZIP 2.0 / ZIP specifikációra támaszkodik. A fájlkiterjesztés egyszerűen meghatározza a várt sémát, az alapértelmezett megjelenítő alkalmazást és a mime-típus deklarációkat.
Sample DOCX File (Unzipped):
├── [Content_Types].xml <-- Registry of MIME types for parts
├── _rels/ <-- Package-level relationships
│ └── .rels
├── docProps/ <-- Core and extended metadata
│ ├── app.xml
│ └── core.xml
└── word/ <-- Main content payload
├── document.xml <-- Text, paragraphs, and tags
├── styles.xml <-- Typography and presets
├── numbering.xml <-- Lists and counters
├── media/ <-- Embedded images (PNG, JPG)
└── _rels/
└── document.xml.rels <-- Internal hyperlinks & resource pointers
2. A Motor a Motorháztető alatt: A DEFLATE Algoritmus
Amikor egy szoftveralkalmazás DOCX vagy EPUB fájlt ment, nem csak fájlokat helyez el egy tömörítetlen archívumban. A belső eszközöket DEFLATE-tel tömöríti (az RFC 1951-ben meghatározott módon).
A DEFLATE egy kétszintű veszteségmentes tömörítési rendszer, amely két alapvető informatikai algoritmust kombinál:
1. lépés: LZ77 (Lempel-Ziv 1977) — Csúszó Ablak Redundancia Eltávolítás
Az XML és a HTML rendkívül szótagos. Tekintsd meg, milyen gyakran jelennek meg címkék egy szabványos document.xml vagy chapter1.xhtml fájlban:
<w:p><w:r><w:rPr><w:sz w:val="24"/></w:rPr><w:t>ez ezerszer ismétlődik a Wordben.row r="1" spans="1:15"><c r="A1" t="s"><v>ismétlődik az Excelben tízezrek cellájában.<p class="calibre1"><span class="body-text">ismétlődik az EPUB könyvfejezetekben.
Az LZ77 egy csúszó szótárablakot (általában 32 KB) használva vizsgálja a adatfolyamot. Amikor egy nemrég látott karakterláncot talál, a duplikált szöveget egy apró visszamutató mutatóval helyettesíti:
(distance, length)— például: “menj vissza 142 bájttal, másolj 28 bájtot”.
Ahelyett, hogy ismételten tárolná a terjengős jelölőnyelvet, az LZ77 ezrek ismétlődő XML címkéjét tömör koordináta-referenciákká sűríti.
2. lépés: Huffman-kódolás — Változó Hosszúságú Frekvencia Kódolás
Miután az LZ77 a redundáns sorozatokat hossz‑távolság tokenekkel helyettesíti, a Huffman-kódolás elemzi a folyam minden szimbólumának gyakoriságát:
- Gyakran előforduló szimbólumok (például gyakori karakterek
e,t, szóközök vagy gyakori távolságjelzők) rövid bináris bitkódot kapnak (például 2‑4 bit). - Ritkán használt szimbólumok hosszabb bináris bitkódot kapnak (például 12‑16 bit).
Az eredmény egy változó hosszúságú bitkódok áramlata, amely a sima szöveges XML-t 75%‑tól 88%‑ig tömöríti.
3. Formátumról-Formátumra Felbontás: Hogyan Kezeli Az Egyes a Tömörítést
Miközben a DOCX, XLSX, PPTX és EPUB is ugyanazt a ZIP burkot használja, belső adatjellemzőik drámaian eltérnek.
A. DOCX: A Szöveg és Stílus Egyensúlyozó Művelete
- Mi van benne: Egyszerű XML (
word/document.xml), betűtáblák, stílusok, kapcsolati katalógusok és egyword/media/mappa. - Hogyan működik a tömörítés:
- A nyers szöveg és az XML jelölés hatalmas tömörítési arányokat ér el (gyakran 5 MB nyers XML‑ről 500 KB‑ra csökken).
- Azonban a modern dokumentumok gyakran beágyaznak képernyőképeket, illusztrációkat és fényképeket. Mivel a JPEG és PNG fájlok már tömörítettek, a DEFLATE nem tudja tovább csökkenteni őket. Valójában egy már tömörített képen a DEFLATE futtatása gyakorlatilag 0 % megtakarítást eredményez (sőt, a tömörítési fejlécek miatt akár enyhén is növelheti a méretet).
- Ennek következtében a képek nélküli DOCX fájlok rendkívül kicsik, míg a képekben gazdag jelentések szinte pontosan a tartalmazott képfájlok méretét tükrözik.
B. XLSX: Nagy mennyiségű numerikus adat és megosztott karakterláncok
A táblázatok egyedi kihívást jelentenek: egy munkalap akár több százezer sort is tartalmazhat, ami okos kezelés hiányában csillagászati méretű XML‑fájlokhoz vezet.
- A megosztott karakterláncok stratégiája (
xl/sharedStrings.xml):- Ha egy szövegcímke, például “United States” vagy “In Progress”, 50,000 alkalommal jelenik meg egy táblázatban, akkor a
<c t=\"inlineStr\"><is><t>United States</t></is></c>tárolása 50,000 cellában a tömörítetlen XML-t gigabájtra növelné. - Az Excel a tömörítés előtt deduplikálja a szöveget, úgy, hogy minden egyedi karakterláncot egyszer tárol egy megosztott karakterlánc táblában, és numerikus indexszel hivatkozik rá (például
<v>0</v>,<v>1</v>).
- Ha egy szövegcímke, például “United States” vagy “In Progress”, 50,000 alkalommal jelenik meg egy táblázatban, akkor a
- Miért zsugorodik drámaian az XLSX:
- A numerikus sorrekordok (
sheet1.xml) ismétlődő, előre látható szintaxist követnek. - A DEFLATE könnyen felismeri a táblázatos XML-ben az ismétlődő mintákat. Gyakori, hogy egy 120 MB nyers
sheet1.xmlfájl kevesebb, mint 6 MB-ra zsugorodik egy XLSX archívumban.
- A numerikus sorrekordok (
C. PPTX: Médiával teli diavetítések
A prezentációk alapvetően különböznek a dokumentumoktól és a táblázatoktól:
- A képek dilemmája: A PPTX fájlok általában vektoros alakzatok, háttérgrafikák, videoklipek és nagy felbontású diák uralják.
- Compression Profile: Miközben a
ppt/slides/slide1.xml-től aslideN.xml-ig terjedő fájlok hatékonyan tömörülnek, a média terhelés (ppt/media/) a teljes archívum súlyának 85%‑tól 95%‑ig teszi ki. - Why Re-Zipping a PPTX Changes Nothing: Ha megpróbálsz egy már mentett PPTX fájlt 7-Zip‑pel vagy WinRAR‑ral tömöríteni, szinte semmilyen méretcsökkenést nem fogsz észrevenni. Mivel a belső rész már egy DEFLATE‑tömörített ZIP archívum, amely előre tömörített JPEG‑eket és MP4‑ket tartalmaz, az entrópia már közel a maximumhoz.
D. EPUB: Webes technológiák kötelező tömörítetlen fejléccel
Az EPUB fájl lényegében egy reszponzív, csomagolt mikro-weboldal, amely XHTML fejezeteket, CSS stíluslapokat, TTF/WOFF betűtípusokat és metaadatokat tartalmaz. Azonban az EPUB egy szigorú csomagolási szabályt követ, amely megkülönbözteti a Microsoft Office fájloktól:
EPUB Internal Structure:
├── mimetype <-- MUST be uncompressed (Stored) & at byte offset 38
├── META-INF/
│ └── container.xml <-- Tells reader where the OPF manifest lives
└── OEBPS/ (or EPUB/)
├── content.opf <-- Manifest of all book assets
├── toc.ncx / nav.xhtml <-- Table of contents navigation
├── styles/style.css <-- CSS formatting
├── images/ <-- Book cover & illustrations
└── text/ <-- chapter1.xhtml, chapter2.xhtml
- A varázslatos
mimetypefájl:- Az e-olvasóknak azonnal fel kell ismerniük egy EPUB-ot anélkül, hogy kicsomagolnák a teljes archívumot vagy futtatnák a dekódolási folyamatokat.
- Az Open Container Format (OCF) előírja, hogy a
mimetypefájl:- Az ZIP archívum legelső fájlja kell legyen.
- Pontosan a
application/epub+zipkarakterláncot kell tartalmazza. - Nem szabad tömöríteni (ZIP tömörítési módszer
0/ “Tárolt”). - Nem lehetnek extra mezőadatok, biztosítva, hogy a MIME karakterlánc mindig a fizikai fájl 38. bájtjánál kezdődjön.
- Szöveg tömörítés: Az összes többi fájl (
.xhtml,.css,.opf) a szabványos DEFLATE (ZIP módszer8) segítségével van tömörítve, lehetővé téve, hogy a teljes hosszúságú regények néhány száz kilobájt méretre zsugorodjanak.
4. A tömörítés összehasonlítása formátumok között
| Formátum | Alap hasznos adat | Elsődleges redundancia forrás | Tipikus tömörítési arány (szöveg/jelölőnyelv) | Média kezelése |
|---|---|---|---|---|
| DOCX | WordprocessingML (document.xml) | Ismétlődő XML bekezdés/futtatás címkék | 75% – 85% | Tárolva a word/media/ (többnyire előre tömörített) |
| XLSX | SpreadsheetML (sheet*.xml) | Ismétlődő cella/sor címkék; Megosztott karakterláncok | 80% – 92% | Ritka; képek/grafikonok a xl/media/-ben |
| PPTX | PresentationML (slide*.xml) | Diaelrendezés metaadata, alakzatkoordináták | 70% – 80% | Nagy ppt/media/ terhelés korlátozza az összes megtakarítást |
| EPUB | XHTML, CSS, OPF, NCX | HTML címkék, ismétlődő CSS szelektorok | 65% – 80% | mimetype tömörítetlen; média alkönyvtárakban |
5. Gyakorlati tanulságok: Hogyan optimalizáljuk dokumentumait
Mivel most már tudod, hogyan működik a belső csomagolás, kihasználhatod a tömörítési mechanizmusokat a valós problémák megoldásához:
- Sérült dokumentumok javítása:
Ha egy dokumentum nem nyílik meg, a kiterjesztés
.zip-re változtatása lehetővé teszi a tartalom kicsomagolását és a nyers szöveg visszaállítását adocument.xml-ből vagy az EPUBtext/könyvtárában található egyes fejezetekből. - Óriási Office fájlok zsugorítása:
Mivel az XML tömörítés már optimalizált, a hatalmas fájlok szinte mindig a
media/mappában lévő nem optimalizált képek miatt keletkeznek. A harmadik féltől származó PDF vagy DOCX tömörítőkkel való helyett nyissa meg a ZIP konténert, bontsa ki a képeket, futtassa őket egy képtömörítővel (például WebP, TinyPNG vagy MozJPEG), és cserélje vissza őket az archívumban. - Dokumentumgenerálás automatizálása: A fejlesztőknek nem kell nehéz irodai csomagokhoz fordulniuk a jelentések elkészítéséhez. Nyers XML sablonokat generálhat, azokat szabványos zlib/ZIP könyvtárakkal csomagolhatja, és programozottan, milliszekundumok alatt érvényes DOCX vagy XLSX fájlokat állíthat elő.
6. Gyakran Ismételt Kérdések (GYIK)
Át tudom konvertálni a DOCX vagy EPUB fájlt ZIP fájlra csak a fájlkiterjesztés átnevezésével? Igen; a kiterjesztés .zip-re való átnevezése lehetővé teszi, hogy bármely szabványos archívum eszköz (például 7‑Zip, macOS Archive Utility vagy Windows Explorer) közvetlenül megnyissa és megvizsgálja a belső fájlokat.
Miért nem teszi lényegesen kisebbé egy DOCX vagy PPTX 7‑Zip‑pel való tömörítése? Mivel a fájl már egy belsőleg tömörített ZIP archívum, amely DEFLATE‑kódolt XML‑t és előre tömörített képeket tartalmaz, csak minimális redundancia marad, amit egy külső eszköz eltávolíthat.
Miért követeli az EPUB specifikáció, hogy a mimetype fájl legyen tömörítetlen? Lehetővé teszi az e-olvasó szoftverek számára, hogy ellenőrizzék, hogy a fájl hiteles EPUB-e, a MIME karakterláncot egy rögzített bájteltolásnál ellenőrizve, anélkül, hogy egy dekompressziós motor indítására lenne szükség.
Növeli-e a cellaformázás módosítása az Excelben a tömörített XLSX fájl méretét? Igen; a kiterjedt egyéni formázás megtöri a cellák közötti egységes mintaismétlést, hosszabb XML definíciókat hozva létre, amelyek csökkentik a DEFLATE tömörítési hatékonyságát.
Lehetőség van magas felbontású eredeti képek kinyerésére egy Word vagy PowerPoint fájlból minőségromlás nélkül? Igen; nevezze át a fájlt .zip-re, nyissa meg a word/media vagy ppt/media mappát, és megtalálja az eredeti, tömörítetlen forrásképeket pontosan úgy, ahogy be lettek illesztve.