<?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>Pemampatan dalam DOCX on File Format Blog</title>
    <link>https://blog.fileformat.com/ms/tag/pemampatan-dalam-docx/</link>
    <description>Recent content in Pemampatan dalam DOCX on File Format Blog</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>ms</language>
    <lastBuildDate>Thu, 10 Sep 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://blog.fileformat.com/ms/tag/pemampatan-dalam-docx/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Bagaimana Pemampatan Berfungsi Di Dalam EPUB, DOCX, XLSX, dan PPTX?</title>
      <link>https://blog.fileformat.com/ms/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/ms/compression/how-compression-works-inside-epub-docx-xlsx-and-pptx/</guid>
      <description>Pernah tertanya-tanya apa yang tersembunyi di dalam fail .docx atau .epub? Terokai bagaimana pembungkusan ZIP dan pemampatan DEFLATE menjadikan dokumen pejabat moden serta ebook ringan dan teratur.</description>
      <content:encoded><![CDATA[<p><strong>Kemas Kini Terakhir</strong>: 10 September, 2026</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="bagaimana-pemampatan-berfungsi-di-dalam-epub-docx-xlsx-dan-pptx">Bagaimana Pemampatan Berfungsi Di Dalam EPUB, DOCX, XLSX, dan PPTX</h2>
<p>Jika anda menamakan semula fail <code>.docx</code>, <code>.xlsx</code>, <code>.pptx</code>, atau <code>.epub</code> kepada <code>.zip</code> dan mengklik dua kalinya, sesuatu yang mengejutkan berlaku: ia tidak menghasilkan ralat. Sistem operasi anda membukanya sebagai folder yang dipenuhi dengan subdirektori, fail konfigurasi XML, lembaran gaya, fon, dan imej terbenam.</p>
<p>Arkitektur dokumen moden telah meninggalkan blob binari monolitik beberapa dekad yang lalu. Sebagai gantinya, piawaian industri—iaitu <strong>Open Packaging Conventions (OPC)</strong> untuk Microsoft Office dan <strong>Open Container Format (OCF)</strong> untuk EPUB—menggunakan asas yang sangat elegan: <strong>arkib ZIP</strong> yang sederhana.</p>
<p>Memahami cara pemampatan berfungsi dalam format-format ini mendedahkan mengapa dokumen moden begitu tahan, ringan, dan boleh diperluas—dan mengapa sesetengah fail dipampatkan sehingga 90% manakala yang lain hampir tidak menyusut langsung.</p>
<h2 id="1-seni-bina-kontena-pakej-zip9-yang-disamarkan">1. Seni Bina Kontena: Pakej <a href="https://docs.fileformat.com/compression/zip/">ZIP</a> yang Disamarkan</h2>
<p>Sebelum memahami algoritma pemampatan itu sendiri, adalah membantu untuk memahami mengapa format dokumen moden disusun sebagai pakej dan bukannya fail mentah yang berdiri sendiri.</p>
<h3 id="masalah-dengan-format-binari-warisan">Masalah dengan Format Binari Warisan</h3>
<p>Sepanjang tahun 1990-an dan awal 2000-an, Microsoft Office menggunakan format binari proprietari (<code>.doc</code>, <code>.xls</code>, <code>.ppt</code>). Fail-fail ini pada dasarnya merupakan dump memori yang disusun mengikut Compound File Binary Format (CFBF). Ia terkenal rapuh:</p>
<ul>
<li>Satu flip bit tunggal boleh merosakkan keseluruhan struktur fail.</li>
<li>Menyisipkan imej menyebabkan saiz fail membengkak secara tidak dapat diramalkan.</li>
<li>Penguraian memerlukan kejuruteraan terbalik spesifikasi binari yang padat.</li>
<li>Interoperabiliti merentas platform menjadi mimpi ngeri.</li>
</ul>
<h3 id="peralihan-ke-kontena-terbuka-modular">Peralihan ke Kontena Terbuka, Modular</h3>
<p>Pada pertengahan tahun 2000-an, dua evolusi selari berlaku:</p>
<ol>
<li><strong>Office Open XML (OOXML / ISO/IEC 29500):</strong> Microsoft memperkenalkan format berasaskan XML yang berakhir dengan <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>). Di belakang tabir, fail-fail ini mengikuti <strong>Open Packaging Conventions (OPC)</strong>.</li>
<li><strong><a href="https://docs.fileformat.com/ebook/epub/">EPUB</a> (IDPF / W3C):</strong> Penerbitan digital beralih daripada format pembaca proprietari ke teknologi web standard (HTML, CSS, SVG) yang dibungkus dalam <strong>EPUB Open Container Format (OCF)</strong>.</li>
</ol>
<p>Kedua-dua seni bina bergantung pada <strong>PKZIP 2.0 / spesifikasi ZIP</strong> standard. Sambungan fail hanya menentukan skema yang dijangka, aplikasi penonton lalai, dan deklarasi jenis mime.</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-enjin-di-balik-tabir-algoritma-deflate">2. Enjin di Balik Tabir: Algoritma DEFLATE</h2>
<p>Apabila aplikasi perisian menyimpan fail DOCX atau EPUB, ia tidak hanya menyimpan fail ke dalam arkib yang tidak dimampatkan. Ia memampatkan aset dalaman menggunakan <strong>DEFLATE</strong> (ditentukan dalam RFC 1951).</p>
<p>DEFLATE ialah sistem pemampatan tanpa kehilangan dua lapisan yang menggabungkan dua algoritma asas sains komputer:</p>
<h3 id="langkah-1-lz77-lempel-ziv-1977--penghapusan-redundansi-tingkap-gelongsor">Langkah 1: LZ77 (Lempel-Ziv 1977) — Penghapusan Redundansi Tingkap Gelongsor</h3>
<p>XML dan HTML sangat berlebihan. Pertimbangkan berapa kerap tag muncul dalam fail standard <code>document.xml</code> atau <code>chapter1.xhtml</code>:</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> berulang beribu-ribu kali dalam Word.</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> berulang dalam Excel merentasi puluhan ribu sel.</li>
<li><code>&lt;p class=\&quot;calibre1\&quot;&gt;&lt;span class=\&quot;body-text\&quot;&gt;</code> berulang merentasi bab-bab buku EPUB.</li>
</ul>
<p>LZ77 mengimbas aliran data menggunakan tetingkap kamus gelongsor (biasanya 32 KB). Apabila ia menjumpai rentetan aksara yang baru-baru ini dilihat, ia menggantikan teks duplikat dengan penunjuk mundur yang kecil:</p>
<ul>
<li><code>(distance, length)</code> — contohnya, &quot;kembali 142 bait, salin 28 bait&quot;.</li>
</ul>
<p>Daripada menyimpan markup yang panjang berulang kali, LZ77 menggabungkan ribuan tag XML yang berulang menjadi rujukan koordinat yang padat.</p>
<h3 id="langkah-2-pengekodan-huffman--pengekodan-frekuensi-panjang-bervariasi">Langkah 2: Pengekodan Huffman — Pengekodan Frekuensi Panjang Bervariasi</h3>
<p>Selepas LZ77 menggantikan urutan berulang dengan token panjang-jarak, <strong>Huffman coding</strong> menganalisis kekerapan setiap simbol dalam aliran:</p>
<ul>
<li>Simbol yang sering muncul (seperti aksara biasa <code>e</code>, <code>t</code>, ruang, atau penanda jarak biasa) diberikan kod bit binari pendek (contohnya, 2 hingga 4 bit).</li>
<li>Simbol yang jarang digunakan menerima kod bit binari yang lebih panjang (contohnya, 12 hingga 16 bit).</li>
</ul>
<p>Keputusan ialah aliran kod bit bersaiz berubah-ubah yang memampatkan XML teks biasa sebanyak <strong>75% hingga 88%</strong>.</p>
<h2 id="3-pecahan-format-demi-format-bagaimana-setiap-menangani-pemampatan">3. Pecahan Format demi Format: Bagaimana Setiap Menangani Pemampatan</h2>
<p>Walaupun DOCX, XLSX, PPTX, dan EPUB semua menggunakan sampul ZIP yang sama, ciri-ciri data dalaman mereka berbeza secara melampau.</p>
<h3 id="a-docx-tindakan-menyeimbangkan-teks-dan-gaya">A. DOCX: Tindakan Menyeimbangkan Teks dan Gaya</h3>
<ul>
<li><strong>Apa yang ada di dalam:</strong> XML biasa (<code>word/document.xml</code>), jadual fon, gaya, katalog hubungan, dan folder <code>word/media/</code>.</li>
<li><strong>Bagaimana pemampatan berfungsi:</strong>
<ul>
<li>Teks mentah dan penanda XML mengalami nisbah pemampatan yang besar (selalunya turun daripada 5 MB XML mentah kepada 500 KB).</li>
<li>Namun, dokumen moden sering menyisipkan tangkapan skrin, ilustrasi, dan foto. Oleh kerana fail JPEG dan PNG <strong>sudah dimampatkan</strong>, DEFLATE tidak dapat mengecilkannya lagi. Malah, menjalankan DEFLATE ke atas imej yang sudah dimampatkan menghasilkan hampir 0% penjimatan (dan malah boleh sedikit meningkatkan saiz kerana pengepala pemampatan).</li>
<li>Oleh itu, fail DOCX tanpa imej sangat kecil, manakala laporan yang banyak imej hampir mencerminkan saiz tepat fail imej yang terkandung di dalamnya.</li>
</ul>
</li>
</ul>
<h3 id="b-xlsx-data-numerik-berkapasiti-tinggi--rentetan-berkongsi">B. XLSX: Data Numerik Berkapasiti Tinggi &amp; Rentetan Berkongsi</h3>
<p>Hamparan lembaran kerja menimbulkan cabaran unik: satu helaian boleh mengandungi ratusan ribu baris, yang menyebabkan saiz fail XML menjadi astronomik jika tidak diuruskan dengan bijak.</p>
<ul>
<li><strong>Strategi Rentetan Berkongsi (<code>xl/sharedStrings.xml</code>):</strong>
<ul>
<li>Jika label teks seperti &ldquo;United States&rdquo; atau &ldquo;In Progress&rdquo; muncul 50,000 kali dalam hamparan, menyimpan <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> dalam 50,000 sel akan membengkakkan XML yang tidak dimampatkan menjadi gigabait.</li>
<li>Excel menghilangkan duplikasi teks sebelum pemampatan dengan menyimpan setiap rentetan unik sekali dalam jadual rentetan berkongsi dan merujuknya melalui indeks berangka (contohnya, <code>&lt;v&gt;0&lt;/v&gt;</code>, <code>&lt;v&gt;1&lt;/v&gt;</code>).</li>
</ul>
</li>
<li><strong>Mengapa XLSX Mampat Secara Dramatik:</strong>
<ul>
<li>Rekod baris berangka (<code>sheet1.xml</code>) mengikuti sintaks berulang dan dapat diramalkan.</li>
<li>DEFLATE dengan mudah mengesan corak berulang dalam XML berjadual. Kebiasaannya, fail <code>sheet1.xml</code> mentah 120 MB dapat mengecil menjadi kurang daripada 6 MB di dalam arkib XLSX.</li>
</ul>
</li>
</ul>
<h3 id="c-pptx-setumpuk-slaid-berat-media">C. PPTX: Setumpuk Slaid Berat Media</h3>
<p>Pembentangan secara asasnya berbeza daripada dokumen dan hamparan:</p>
<ul>
<li><strong>Dilema Imej:</strong> Fail PPTX biasanya didominasi oleh bentuk vektor, grafik latar belakang, klip video, dan slaid beresolusi tinggi.</li>
<li><strong>Profil Pemampatan:</strong> Walaupun <code>ppt/slides/slide1.xml</code> hingga <code>slideN.xml</code> mampat dengan cekap, beban media (<code>ppt/media/</code>) menyumbang 85% hingga 95% daripada berat keseluruhan arkib.</li>
<li><strong>Mengapa Menyusun Semula PPTX Tidak Mengubah Apa-apa:</strong> Jika anda cuba memampatkan fail PPTX yang sudah disimpan dengan 7-Zip atau WinRAR, anda akan perasan hampir tiada pengurangan saiz. Kerana bahagian dalamnya sudah merupakan arkib ZIP yang dimampatkan dengan DEFLATE mengandungi JPEG dan MP4 yang telah dipra-mampat, entropi sudah hampir maksimum.</li>
</ul>
<h3 id="d-epub-teknologi-web-dengan-header-tidak-dimampatkan-yang-wajib">D. EPUB: Teknologi Web dengan Header Tidak Dimampatkan yang Wajib</h3>
<p>Fail EPUB pada dasarnya ialah mikro-website responsif yang dipaketkan mengandungi bab-bab XHTML, lembaran gaya CSS, fon TTF/WOFF, dan metadata. Walau bagaimanapun, EPUB mempunyai satu peraturan pembungkusan ketat yang membezakannya daripada fail Microsoft Office:</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>Fail <code>mimetype</code> Ajaib:</strong>
<ul>
<li>Pembaca e-book perlu mengenal pasti EPUB dengan serta-merta tanpa mengekstrak keseluruhan arkib atau menjalankan paip penyahmampatan.</li>
<li>Format Kontena Terbuka (OCF) mewajibkan bahawa fail <code>mimetype</code>:
<ol>
<li>Mesti menjadi fail pertama dalam arkib ZIP.</li>
<li>Mesti mengandungi tepat rentetan <code>application/epub+zip</code>.</li>
<li><strong>Tidak boleh dimampatkan</strong> (kaedah mampatan ZIP <code>0</code> / &ldquo;Stored&rdquo;).</li>
<li>Mesti tidak mempunyai data medan tambahan, memastikan rentetan MIME selalu bermula pada bait 38 fail fizikal.</li>
</ol>
</li>
</ul>
</li>
<li><strong>Pemampatan Teks:</strong> Semua fail yang tinggal (<code>.xhtml</code>, <code>.css</code>, <code>.opf</code>) dimampatkan menggunakan DEFLATE standard (kaedah ZIP <code>8</code>), membolehkan novel penuh panjang mengecil menjadi beberapa ratus kilobait.</li>
</ul>
<h2 id="4-membandingkan-pemampatan-merentasi-format">4. Membandingkan Pemampatan Merentasi Format</h2>
<table>
<thead>
<tr>
<th style="text-align:left">Format</th>
<th style="text-align:left">Muat Utama</th>
<th style="text-align:left">Sumber Redundansi Utama</th>
<th style="text-align:left">Nisbah Pemampatan Biasa (Teks/Markup)</th>
<th style="text-align:left">Pengendalian Media</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">Tag perenggan/run XML yang berulang</td>
<td style="text-align:left">75% – 85%</td>
<td style="text-align:left">Disimpan dalam <code>word/media/</code> (kebanyakannya pra-dikompress)</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">Tag sel/baris berulang; Rentetan Berkongsi</td>
<td style="text-align:left">80% – 92%</td>
<td style="text-align:left">Jarang; images/charts in <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">Metadata susun atur slaid, koordinat bentuk</td>
<td style="text-align:left">70% – 80%</td>
<td style="text-align:left">Beban <code>ppt/media/</code> yang berat mengehadkan penjimatan keseluruhan</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">Tag HTML, pemilih CSS berulang</td>
<td style="text-align:left">65% – 80%</td>
<td style="text-align:left"><code>mimetype</code> tidak dimampatkan; media dalam subfolder</td>
</tr>
</tbody>
</table>
<h2 id="5-pengajaran-praktikal-cara-mengoptimumkan-dokumen-anda">5. Pengajaran Praktikal: Cara Mengoptimumkan Dokumen Anda</h2>
<p>Kerana anda kini mengetahui cara kerja pembungkusan dalaman, anda boleh memanfaatkan mekanisme pemampatan untuk menyelesaikan masalah dunia sebenar:</p>
<ol>
<li><strong>Membaiki Dokumen Rosak:</strong>
Jika dokumen menolak dibuka, menukar sambungan kepada <code>.zip</code> membolehkan anda mengekstrak kandungan dan memulihkan teks mentah daripada <code>document.xml</code> atau bab individu daripada direktori <code>text/</code> EPUB.</li>
<li><strong>Mengecilkan Fail Office Gergasi:</strong>
Oleh kerana pemampatan XML sudah dioptimumkan, fail besar hampir selalu disebabkan oleh imej yang tidak dioptimumkan dalam <code>media/</code>. Daripada menggunakan pemampat PDF atau DOCX pihak ketiga, buka kontena ZIP, ekstrak imej, jalankan melalui pengoptimum imej (seperti WebP, TinyPNG, atau MozJPEG), dan gantikan imej tersebut di dalam arkib.</li>
<li><strong>Mengautomasi Penjanaan Dokumen:</strong>
Pemaju tidak memerlukan suite pejabat berat untuk membina laporan. Anda boleh menjana templat XML mentah, menggabungkannya menggunakan perpustakaan zlib/ZIP standard, dan menghasilkan fail DOCX atau XLSX yang sah secara programatik dalam milisaat.</li>
</ol>
<h2 id="6-soalan-lazim-faq">6. Soalan Lazim (FAQ)</h2>
<p><strong>Bolehkah saya menukar DOCX atau EPUB kepada fail ZIP hanya dengan menamakan semula sambungan fail?</strong> Ya; menamakan semula sambungan kepada <code>.zip</code> membolehkan mana-mana alat arkib standard (seperti 7-Zip, macOS Archive Utility, atau Windows Explorer) membuka dan memeriksa fail dalaman secara langsung.</p>
<p><strong>Mengapa memampatkan DOCX atau PPTX dengan 7-Zip tidak menjadikannya lebih kecil secara ketara?</strong> Kerana fail tersebut sudah merupakan arkib ZIP yang dimampatkan secara dalaman mengandungi XML yang dikodkan DEFLATE dan imej yang telah dipra-mampat, meninggalkan sedikit redundansi untuk alat luar mengeluarkannya.</p>
<p><strong>Mengapa spesifikasi EPUB memerlukan fail <code>mimetype</code> tidak dimampatkan?</strong> Ia membolehkan perisian e-pembaca mengesahkan bahawa fail tersebut adalah EPUB yang sah dengan memeriksa rentetan MIME pada offset bait tetap tanpa perlu memulakan enjin penyahmampatan.</p>
<p><strong>Adakah mengubah pemformatan sel dalam Excel meningkatkan saiz fail XLSX yang dimampatkan?</strong> Ya; pemformatan khusus yang meluas memutuskan pengulangan corak seragam di antara sel, menghasilkan definisi XML yang lebih panjang yang mengurangkan kecekapan pemampatan DEFLATE.</p>
<p><strong>Adakah mungkin mengekstrak imej asal beresolusi tinggi daripada fail Word atau PowerPoint tanpa kehilangan kualiti?</strong> Ya; namakan semula fail kepada <code>.zip</code>, buka folder <code>word/media</code> atau <code>ppt/media</code>, dan anda akan menemui imej sumber asal yang tidak dimampatkan tepat seperti ketika dimasukkan.</p>
<h2 id="lihat-juga">Lihat Juga</h2>
<ul>
<li><a href="https://blog.fileformat.com/compression/compression-file-formats-at-fileformat-com/">Format Fail Pemampatan di FileFormat.com</a></li>
<li><a href="https://blog.fileformat.com/compression/zip-bombs-exploding-your-storage/">ZIP Bombs – Meletupkan Storan Anda</a></li>
<li><a href="https://blog.fileformat.com/compression/what-is-7z-file-format-comprehensive-guide-and-faqs/">Memahami format fail 7z - Panduan Komprehensif dan Soalan Lazim</a></li>
<li><a href="https://blog.fileformat.com/compression/how-to-open-rar-files-with-best-rar-openers/">7 Alat Terbaik untuk Membuka atau Mengekstrak Fail RAR</a></li>
</ul>
<!-- raw HTML omitted -->
]]></content:encoded>
    </item>
    
  </channel>
</rss>
