अंतिम अपडेट: 10 सितंबर, 2026

EPUB, DOCX, XLSX, और PPTX के भीतर संपीड़न कैसे काम करता है
यदि आप किसी .docx, .xlsx, .pptx, या .epub फ़ाइल का नाम बदलकर .zip कर देते हैं और उसे डबल‑क्लिक करते हैं, तो कुछ आश्चर्यजनक होता है: यह त्रुटि नहीं देता। आपका ऑपरेटिंग सिस्टम इसे एक फ़ोल्डर के रूप में खोलता है जिसमें उपनिर्देशिकाएँ, XML कॉन्फ़िगरेशन फ़ाइलें, स्टाइलिंग शीट्स, फ़ॉन्ट्स, और एम्बेडेड इमेज़ होते हैं।
आधुनिक दस्तावेज़ आर्किटेक्चर ने दशकों पहले एकरूपी बाइनरी ब्लॉब्स को त्याग दिया। उनकी जगह, उद्योग मानकों—विशेष रूप से माइक्रोसॉफ्ट ऑफिस के लिए Open Packaging Conventions (OPC) और EPUB के लिए Open Container Format (OCF)—ने एक आश्चर्यजनक रूप से सुरुचिपूर्ण आधार अपनाया: साधारण ZIP आर्काइव।
इन फ़ॉर्मैट्स के भीतर संपीड़न कैसे काम करता है, इसे समझने से पता चलता है कि आधुनिक दस्तावेज़ इतने लचीले, हल्के और विस्तारणीय क्यों होते हैं—और कुछ फ़ाइलें 90% तक संकुचित क्यों होती हैं जबकि अन्य लगभग नहीं घटतीं।
1. कंटेनर आर्किटेक्चर: छिपे हुए ZIP पैकेज
संपीड़न एल्गोरिद्म को समझने से पहले, यह समझना उपयोगी है कि आधुनिक दस्तावेज़ फ़ॉर्मैट्स पैकेज के रूप में संरचित क्यों होते हैं न कि स्वतंत्र कच्ची फ़ाइलों के रूप में।
लेगेसी बाइनरी फ़ॉर्मेट्स की समस्या
1990 के दशक और शुरुआती 2000 के वर्षों में, माइक्रोसॉफ्ट ऑफिस ने स्वामित्व बाइनरी फ़ॉर्मैट्स (.doc, .xls, .ppt) का उपयोग किया। ये फ़ाइलें मूलतः मेमोरी डंप थीं जो Compound File Binary Format (CFBF) के आसपास संरचित थीं। ये बदनाम रूप से नाज़ुक थीं:
- एक एकल बिट फ़्लिप पूरी फ़ाइल संरचना को भ्रष्ट कर सकता था।
- छवियों को एम्बेड करने से फ़ाइल आकार अनपेक्षित रूप से बढ़ जाता था।
- पार्सिंग के लिए घने बाइनरी विनिर्देशों का रिवर्स-इंजीनियरिंग आवश्यक था।
- क्रॉस-प्लेटफ़ॉर्म इंटरऑपरेबिलिटी एक दुःस्वप्न थी।
ओपन, मॉड्यूलर कंटेनरों की ओर बदलाव
2000 के मध्य में, दो समानांतर विकास हुए:
- Office Open XML (OOXML / ISO/IEC 29500): Microsoft ने
xपर समाप्त होने वाले XML-आधारित फॉर्मेट पेश किए (DOCX, XLSX, PPTX)। अंतर्निहित रूप से, ये फ़ाइलें Open Packaging Conventions (OPC) का पालन करती हैं। - EPUB (IDPF / W3C): डिजिटल प्रकाशन ने स्वामित्व वाले रीडर फॉर्मेट से दूर होकर मानक वेब तकनीक (HTML, CSS, SVG) की ओर रुख किया, जो EPUB Open Container Format (OCF) के भीतर बंडल किए गए हैं।
दोनों आर्किटेक्चर मानक PKZIP 2.0 / ZIP विनिर्देश पर निर्भर करते हैं। फ़ाइल एक्सटेंशन केवल अपेक्षित स्कीमा, डिफ़ॉल्ट व्यूअर एप्लिकेशन, और MIME-टाइप घोषणाओं को निर्धारित करता है।
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. हुड के नीचे इंजन: DEFLATE एल्गोरिद्म
जब कोई सॉफ़्टवेयर एप्लिकेशन DOCX या EPUB फ़ाइल को सहेजता है, तो वह केवल फ़ाइलों को अनकम्प्रेस्ड आर्काइव में नहीं रखता। यह आंतरिक एसेट्स को DEFLATE (RFC 1951 में निर्दिष्ट) का उपयोग करके संकुचित करता है।
DEFLATE दो-स्तरीय लॉसलेस संपीड़न प्रणाली है जो दो मूलभूत कंप्यूटर विज्ञान एल्गोरिदम को मिलाती है:
चरण 1: LZ77 (Lempel-Ziv 1977) — स्लाइडिंग विंडो रिडंडेंसी हटाना
XML और HTML अत्यधिक विस्तृत होते हैं। विचार करें कि एक मानक document.xml या chapter1.xhtml फ़ाइल में टैग कितनी बार प्रकट होते हैं:
<w:p><w:r><w:rPr><w:sz w:val="24"/></w:rPr><w:t>Word में हजारों बार दोहराया जाता है।row r="1" spans="1:15"><c r="A1" t="s"><v>Excel में दसियों हज़ार कोशिकाओं में दोहराता है।<p class="calibre1"><span class="body-text">EPUB पुस्तक अध्यायों में दोहराता है।
LZ77 डेटा स्ट्रीम को एक स्लाइडिंग डिक्शनरी विंडो (आमतौर पर 32 KB) का उपयोग करके स्कैन करता है। जब यह हाल ही में देखे गए अक्षरों की स्ट्रिंग का सामना करता है, तो यह डुप्लिकेट टेक्स्ट को एक छोटे बैकवर्ड पॉइंटर से बदल देता है:
(distance, length)— उदाहरण के लिए, “142 बाइट्स पीछे जाएँ, 28 बाइट्स कॉपी करें”।
बार-बार विस्तृत मार्कअप संग्रहीत करने के बजाय, LZ77 हजारों दोहराव वाले XML टैग को संक्षिप्त कोऑर्डिनेट रेफ़रेंसेज़ में संकुचित कर देता है।
चरण 2: Huffman कोडिंग — वैरिएबल-लेंथ फ्रिक्वेंसी एन्कोडिंग
LZ77 द्वारा दोहराव वाले अनुक्रमों को लंबाई-दूरी टोकन से बदलने के बाद, Huffman coding स्ट्रीम में प्रत्येक प्रतीक की आवृत्ति का विश्लेषण करता है:
- अक्सर प्रकट होने वाले प्रतीक (जैसे सामान्य अक्षर
e,t, स्पेस, या सामान्य दूरी मार्कर) को छोटे बाइनरी बिट कोड सौंपे जाते हैं (उदाहरण के लिए, 2 से 4 बिट)। - कम उपयोग किए जाने वाले प्रतीकों को लंबे बाइनरी बिट कोड मिलते हैं (उदाहरण के लिए, 12 से 16 बिट)।
परिणाम एक परिवर्तनीय-लंबाई वाले बिट कोड की धारा है जो साधारण-टेक्स्ट XML को 75% से 88% तक संकुचित करती है।
3. फ़ॉर्मेट-दर-फ़ॉर्मेट विश्लेषण: प्रत्येक कैसे संपीड़न को संभालता है
जबकि DOCX, XLSX, PPTX, और EPUB सभी एक ही ZIP लिफ़ाफ़ा उपयोग करते हैं, उनके आंतरिक डेटा विशेषताएँ अत्यधिक भिन्न होती हैं।
A. DOCX: टेक्स्ट और स्टाइलिंग का संतुलन
- क्या है अंदर: साधारण XML (
word/document.xml), फ़ॉन्ट तालिकाएँ, शैलियाँ, संबंध कैटलॉग, और एकword/media/फ़ोल्डर। - संपीड़न कैसे कार्य करता है:
- कच्चा टेक्स्ट और XML मार्कअप विशाल संपीड़न अनुपात का अनुभव करता है (अक्सर 5 MB कच्चे XML से घटकर 500 KB तक गिर जाता है)।
- हालाँकि, आधुनिक दस्तावेज़ अक्सर स्क्रीनशॉट, चित्रण और फ़ोटो सम्मिलित करते हैं। क्योंकि JPEG और PNG फ़ाइलें पहले से ही संकुचित होती हैं, DEFLATE उन्हें आगे नहीं घटा सकता। वास्तव में, पहले से संकुचित छवि पर DEFLATE चलाने से लगभग 0% बचत मिलती है (और संपीड़न हेडर के कारण आकार थोड़ा बढ़ भी सकता है)।
- परिणामस्वरूप, बिना छवियों वाले DOCX फ़ाइलें अत्यंत छोटी होती हैं, जबकि छवि-भारी रिपोर्टें उनके शामिल छवि फ़ाइलों के लगभग समान आकार को दर्शाती हैं।
B. XLSX: उच्च-आयतन संख्यात्मक डेटा और साझा स्ट्रिंग्स
स्प्रेडशीट्स एक अनोखी चुनौती पेश करती हैं: एक शीट में सैकड़ों हजारों पंक्तियाँ हो सकती हैं, जिससे यदि समझदारी से न संभाला गया तो खगोलीय XML फ़ाइल आकार बन सकता है।
- साझा स्ट्रिंग्स रणनीति (
xl/sharedStrings.xml):- यदि एक टेक्स्ट लेबल जैसे “United States” या “In Progress” स्प्रेडशीट में 50,000 बार दिखाई देता है, तो
<c t=\"inlineStr\"><is><t>United States</t></is></c>को 50,000 सेल्स में संग्रहीत करने से अनकम्प्रेस्ड XML गीगाबाइट्स तक बढ़ जाएगा। - एक्सेल संपीड़न से पहले टेक्स्ट को डिडुप्लिकेट करता है, प्रत्येक अनोखी स्ट्रिंग को एक साझा स्ट्रिंग टेबल में एक बार संग्रहीत करके और इसे संख्यात्मक इंडेक्स द्वारा संदर्भित करता है (उदाहरण के लिए,
<v>0</v>,<v>1</v>).
- यदि एक टेक्स्ट लेबल जैसे “United States” या “In Progress” स्प्रेडशीट में 50,000 बार दिखाई देता है, तो
- XLSX क्यों अत्यधिक संकुचित होता है:
- संख्यात्मक पंक्ति रिकॉर्ड (
sheet1.xml) दोहरावदार, पूर्वानुमेय सिंटैक्स का पालन करते हैं। - DEFLATE टेबलर XML में दोहरावदार पैटर्न को आसानी से पहचान लेता है। यह सामान्य है कि 120 MB कच्ची
sheet1.xmlफ़ाइल XLSX आर्काइव के भीतर 6 MB से कम हो जाए।
- संख्यात्मक पंक्ति रिकॉर्ड (
C. PPTX: मीडिया-भारी स्लाइड डेक्स
प्रेजेंटेशन मूल रूप से दस्तावेज़ों और स्प्रेडशीट्स से अलग होते हैं:
- इमेज दुविधा: PPTX फ़ाइलें आमतौर पर वेक्टर शैप्स, बैकग्राउंड ग्राफिक्स, वीडियो क्लिप्स, और हाई-रेज़ोल्यूशन स्लाइड्स द्वारा प्रभुत्व रखती हैं।
- Compression Profile: जबकि
ppt/slides/slide1.xmlसेslideN.xmlतक कुशलता से संकुचित होते हैं, मीडिया पेलोड (ppt/media/) कुल अभिलेख वजन का 85% से 95% तक बनाता है। - Why Re-Zipping a PPTX Changes Nothing: यदि आप 7-Zip या WinRAR के साथ पहले से सहेजे गए PPTX फ़ाइल को संकुचित करने का प्रयास करते हैं, तो आप लगभग कोई आकार कमी नहीं देखेंगे। क्योंकि अंदरूनी भाग पहले से ही DEFLATE-संकुचित ZIP अभिलेख है जिसमें पूर्व-संकुचित JPEG और MP4 शामिल हैं, एंट्रॉपी पहले से ही अधिकतम के निकट है।
D. EPUB: वेब तकनीकों के साथ अनिवार्य अनकम्प्रेस्ड हेडर
एक EPUB फ़ाइल मूलतः एक उत्तरदायी, पैकेज्ड माइक्रो-वेबसाइट है जिसमें XHTML अध्याय, CSS स्टाइलशीट, TTF/WOFF फ़ॉन्ट, और मेटाडेटा शामिल होते हैं। हालांकि, EPUB में एक कड़ा पैकेजिंग नियम है जो इसे Microsoft Office फ़ाइलों से अलग करता है:
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
- जादुई
mimetypeफ़ाइल:- ई-रीडर्स को पूरे अभिलेख को निकालें या डिकम्प्रेशन पाइपलाइन चलाए बिना तुरंत एक EPUB की पहचान करनी होती है।
- ओपन कंटेनर फ़ॉर्मेट (OCF) यह अनिवार्य करता है कि
mimetypeफ़ाइल:- ZIP अभिलेख में सबसे पहला फ़ाइल होना चाहिए।
- सटीक स्ट्रिंग
application/epub+zipको शामिल करना चाहिए। - संपीड़ित नहीं होना चाहिए (ZIP संपीड़न विधि
0/ “Stored”). - कोई अतिरिक्त फ़ील्ड डेटा नहीं होना चाहिए, जिससे MIME स्ट्रिंग हमेशा भौतिक फ़ाइल के बाइट 38 से शुरू हो।
- पाठ संपीड़न: सभी शेष फ़ाइलें (
.xhtml,.css,.opf) मानक DEFLATE (ZIP विधि8) का उपयोग करके संपीड़ित की जाती हैं, जिससे पूर्ण लंबाई के उपन्यास कुछ सौ किलोबाइट तक घट सकते हैं।
4. विभिन्न स्वरूपों में संपीड़न की तुलना
| प्रारूप | मुख्य पेलोड | प्राथमिक पुनरावृत्ति स्रोत | सामान्य संपीड़न अनुपात (पाठ/मार्कअप) | मीडिया हैंडलिंग |
|---|---|---|---|---|
| DOCX | WordprocessingML (document.xml) | बार-बार दोहराए जाने वाले XML पैराग्राफ/रन टैग | 75% – 85% | word/media/ में संग्रहीत (अधिकांशतः पूर्व-संकुचित) |
| XLSX | SpreadsheetML (sheet*.xml) | बार-बार दोहराए जाने वाले सेल/रो टैग; साझा स्ट्रिंग्स | 80% – 92% | अल्प; images/charts in xl/media/ |
| PPTX | PresentationML (slide*.xml) | स्लाइड लेआउट मेटाडेटा, आकार निर्देशांक | 70% – 80% | भारी ppt/media/ पेलोड कुल बचत को सीमित करता है |
| EPUB | XHTML, CSS, OPF, NCX | HTML टैग, दोहरावदार CSS चयनकर्ता | 65% – 80% | mimetype अनकम्प्रेस्ड; मीडिया सबफ़ोल्डरों में |
5. व्यावहारिक निष्कर्ष: अपने दस्तावेज़ों को कैसे अनुकूलित करें
क्योंकि अब आप जानते हैं कि आंतरिक पैकेजिंग कैसे काम करती है, आप संपीड़न तंत्र का उपयोग करके वास्तविक दुनिया की समस्याओं को हल कर सकते हैं:
- क्षतिग्रस्त दस्तावेज़ों की मरम्मत:
यदि कोई दस्तावेज़ खोलने से इनकार करता है, तो एक्सटेंशन को
.zipमें बदलने से आप सामग्री निकाल सकते हैं औरdocument.xmlसे कच्चा टेक्स्ट या EPUB कीtext/डायरेक्टरी से व्यक्तिगत अध्याय पुनः प्राप्त कर सकते हैं। - विशाल ऑफिस फ़ाइलों को छोटा करना:
चूँकि XML संपीड़न पहले से ही अनुकूलित है, बड़े फ़ाइलें लगभग हमेशा
media/में अनऑप्टिमाइज़्ड छवियों के कारण होती हैं। तृतीय-पक्ष PDF या DOCX संपीड़कों का उपयोग करने के बजाय, ZIP कंटेनर खोलें, छवियों को निकालें, उन्हें एक इमेज ऑप्टिमाइज़र (जैसे WebP, TinyPNG, या MozJPEG) से चलाएँ, और उन्हें आर्काइव के भीतर बदल दें। - दस्तावेज़ निर्माण का स्वचालन: डेवलपर्स को रिपोर्ट बनाने के लिए भारी ऑफिस सूट की आवश्यकता नहीं है। आप कच्चे XML टेम्पलेट बना सकते हैं, उन्हें मानक zlib/ZIP लाइब्रेरीज़ का उपयोग करके बंडल कर सकते हैं, और प्रोग्रामेटिक रूप से मिलीसेकंड में वैध DOCX या XLSX फ़ाइलें आउटपुट कर सकते हैं।
6. अक्सर पूछे जाने वाले प्रश्न (FAQ)
क्या मैं DOCX या EPUB को केवल फ़ाइल एक्सटेंशन का नाम बदलकर ZIP फ़ाइल में बदल सकता हूँ? हाँ; एक्सटेंशन को .zip में बदलने से कोई भी मानक आर्काइव टूल (जैसे 7-Zip, macOS Archive Utility, या Windows Explorer) सीधे आंतरिक फ़ाइलों को खोल और जांच सकता है।
DOCX या PPTX को 7-Zip से संपीड़ित करने पर वह स्पष्ट रूप से छोटा क्यों नहीं होता? क्योंकि फ़ाइल पहले से ही एक आंतरिक रूप से संपीड़ित ZIP आर्काइव है जिसमें DEFLATE-एन्कोडेड XML और पूर्व-संपीड़ित छवियाँ शामिल हैं, जिससे बाहरी टूल के लिए हटाने हेतु न्यूनतम पुनरावृत्ति बचती है।
EPUB विनिर्देशन mimetype फ़ाइल को अनकम्प्रेस्ड क्यों आवश्यक करता है? यह ई-रीडर सॉफ़्टवेयर को फ़ाइल को एक प्रामाणिक EPUB के रूप में सत्यापित करने की अनुमति देता है, जिससे वह एक निश्चित बाइट ऑफ़सेट पर MIME स्ट्रिंग की जाँच कर सकता है, बिना डिकम्प्रेशन इंजन को प्रारंभ किए।
क्या Excel में सेल फ़ॉर्मेटिंग बदलने से संकुचित XLSX फ़ाइल का आकार बढ़ता है? हाँ; व्यापक कस्टम फ़ॉर्मेटिंग सेल्स में समान पैटर्न दोहराव को तोड़ देती है, जिससे लंबी XML परिभाषाएँ बनती हैं जो DEFLATE की संपीड़न दक्षता को कम करती हैं।
क्या Word या PowerPoint फ़ाइल से उच्च-रिज़ॉल्यूशन मूल छवियों को बिना गुणवत्ता हानि के निकालना संभव है? हाँ; फ़ाइल का नाम .zip रखें, word/media या ppt/media फ़ोल्डर खोलें, और आपको मूल, अनकम्प्रेस्ड स्रोत छवियां वहीँ मिलेंगी जैसे वे सम्मिलित की गई थीं।