<?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>Компресия в PPTX on File Format Blog</title>
    <link>https://blog.fileformat.com/bg/tag/%D0%BA%D0%BE%D0%BC%D0%BF%D1%80%D0%B5%D1%81%D0%B8%D1%8F-%D0%B2-pptx/</link>
    <description>Recent content in Компресия в PPTX on File Format Blog</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>bg</language>
    <lastBuildDate>Thu, 10 Sep 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://blog.fileformat.com/bg/tag/%D0%BA%D0%BE%D0%BC%D0%BF%D1%80%D0%B5%D1%81%D0%B8%D1%8F-%D0%B2-pptx/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Как работи компресията вътре в EPUB, DOCX, XLSX и PPTX?</title>
      <link>https://blog.fileformat.com/bg/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/bg/compression/how-compression-works-inside-epub-docx-xlsx-and-pptx/</guid>
      <description>Някога се чудихте какво се крие зад капака на файл .docx или .epub? Разгледайте как ZIP опаковането и DEFLATE компресията поддържат съвременните офис документи и електронни книги леки и организирани. </description>
      <content:encoded><![CDATA[<p><strong>Последна актуализация</strong>: 10 септември, 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="как-работи-компресията-вътре-в-epub-docx-xlsx-и-pptx">Как работи компресията вътре в EPUB, DOCX, XLSX и PPTX</h2>
<p>Ако преименувате файл <code>.docx</code>, <code>.xlsx</code>, <code>.pptx</code> или <code>.epub</code> на <code>.zip</code> и го отворите с двойно кликване, се случва нещо изненадващо: не се появява грешка. Операционната ви система го отваря като папка, пълна с подпапки, XML конфигурационни файлове, стилови листове, шрифтове и вградени изображения.</p>
<p>Съвременните архитектури на документи изоставиха монолитните бинарни блокове преди десетилетия. На тяхно място, индустриалните стандарти — а именно <strong>Open Packaging Conventions (OPC)</strong> за Microsoft Office и <strong>Open Container Format (OCF)</strong> за EPUB — приеха изненадващо елегантна основа: скромният <strong>ZIP архив</strong>.</p>
<p>Разбирането как работи компресията в тези формати разкрива защо съвременните документи са толкова издръжливи, леки и разширяеми — и защо някои файлове се компресират с 90 %, докато други почти изобщо не намаляват размера си.</p>
<h2 id="1-архитектурата-на-контейнера-прикрити-zip9-пакети">1. Архитектурата на контейнера: Прикрити <a href="https://docs.fileformat.com/compression/zip/">ZIP</a> пакети</h2>
<p>Преди да разберем самия алгоритъм за компресия, е полезно да разберем защо съвременните формати за документи са структуриран като пакети, а не като самостоятелни сурови файлове.</p>
<h3 id="проблемът-със-старите-бинарни-формати">Проблемът със старите бинарни формати</h3>
<p>През 1990‑те и началото на 2000‑те години, Microsoft Office използваше собственически бинарни формати (<code>.doc</code>, <code>.xls</code>, <code>.ppt</code>). Тези файлове по същество бяха дампи на памет, структуриран около Compound File Binary Format (CFBF). Те бяха известни със своята крехкост:</p>
<ul>
<li>Едно единично обръщане на бит може да повреди цялата структура на файла.</li>
<li>Вграждането на изображения караше размерите на файловете да нарастват непредсказуемо.</li>
<li>Разборът изискваше обратно инженерство на сложни бинарни спецификации.</li>
<li>Междуплатформната съвместимост беше кошмар.</li>
</ul>
<h3 id="преходът-към-отворени-модулни-контейнери">Преходът към отворени, модулни контейнери</h3>
<p>През средата на 2000-те години се случиха две паралелни еволюции:</p>
<ol>
<li><strong>Office Open XML (OOXML / ISO/IEC 29500):</strong> Microsoft представи XML-базираните формати, завършващи на <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>). В сърцевината тези файлове следват <strong>Open Packaging Conventions (OPC)</strong>.</li>
<li><strong><a href="https://docs.fileformat.com/ebook/epub/">EPUB</a> (IDPF / W3C):</strong> Цифровото публикуване се отдалечи от собственически формати за четци към стандартни уеб технологии (HTML, CSS, SVG), събрани в <strong>EPUB Open Container Format (OCF)</strong>.</li>
</ol>
<p>И двете архитектури се базират на стандарта <strong>PKZIP 2.0 / ZIP specification</strong>. Разширението на файла просто определя очакваната схема, приложението за преглед по подразбиране и декларациите за mime-type.</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-двигателят-под-капака-алгоритъмът-deflate">2. Двигателят под капака: Алгоритъмът DEFLATE</h2>
<p>Когато софтуерно приложение запише DOCX или EPUB файл, то не просто съхранява файловете в некопресиран архив. То компресира вътрешните ресурси, използвайки <strong>DEFLATE</strong> (специфициран в RFC 1951).</p>
<p>DEFLATE е двустепенна система за беззагубна компресия, комбинираща два фундаментални алгоритъма от компютърните науки:</p>
<h3 id="стъпка-1-lz77-lempel-ziv-1977--премахване-на-излишъци-чрез-плъзгащ-прозорец">Стъпка 1: LZ77 (Lempel-Ziv 1977) — Премахване на излишъци чрез плъзгащ прозорец</h3>
<p>XML и HTML са изключително многословни. Помислете колко често се появяват тагове в стандартен <code>document.xml</code> или <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> се повтаря хиляди пъти в 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> се повтаря в Excel в десетки хиляди клетки.</li>
<li><code>&lt;p class=\&quot;calibre1\&quot;&gt;&lt;span class=\&quot;body-text\&quot;&gt;</code> се повтаря в главите на EPUB книгата.</li>
</ul>
<p>LZ77 сканира потока от данни, използвайки плъзгащ се речников прозорец (обикновено 32 KB). Когато срещне низ от знаци, който е виждал наскоро, той заменя дублирания текст с малък обратен указател:</p>
<ul>
<li><code>(distance, length)</code> — напр., &quot;върни се 142 байта назад, копирай 28 байта&quot;.</li>
</ul>
<p>Вместо да съхранява многословен маркиращ код отново и отново, LZ77 компресира хиляди повторящи се XML тагове в компактни координатни референции.</p>
<h3 id="стъпка-2-хъфманово-кодиране--кодиране-на-честоти-с-променлива-дължина">Стъпка 2: Хъфманово кодиране — Кодиране на честоти с променлива дължина</h3>
<p>След като LZ77 замени излишните последователности с токени за дължина‑разстояние, <strong>Huffman кодиране</strong> анализира честотата на всеки символ в потока:</p>
<ul>
<li>Често срещаните символи (като често използваните знаци <code>e</code>, <code>t</code>, интервали или общи маркери за разстояние) се присвояват кратки двоични кодове (например 2 до 4 бита).</li>
<li>Рядко използваните символи получават по-дълги двоични кодове (например 12 до 16 бита).</li>
</ul>
<p>Резултатът е поток от битови кодове с променлива дължина, които компресират обикновения текстов XML с <strong>75% до 88%</strong>.</p>
<h2 id="3-разбивка-формат-по-формат-как-всеки-обработва-компресията">3. Разбивка формат по формат: Как всеки обработва компресията</h2>
<p>Въпреки че DOCX, XLSX, PPTX и EPUB използват една и съща ZIP обвивка, техните вътрешни данни се различават драстично.</p>
<h3 id="a-docx-балансирането-между-текста-и-стилизирането">A. DOCX: Балансирането между текста и стилизирането</h3>
<ul>
<li><strong>Какво има вътре:</strong> Чист XML (<code>word/document.xml</code>), таблици с шрифтове, стилове, каталози на връзки и папка <code>word/media/</code>.</li>
<li><strong>Как се представя компресията:</strong>
<ul>
<li>Сурият текст и XML маркировката постигат огромни коефициенти на компресия (често намалявайки от 5 MB суров XML до 500 KB).</li>
<li>Въпреки това, съвременните документи често вграждат екранни снимки, илюстрации и фотографии. Тъй като JPEG и PNG файловете са <strong>вече компресирани</strong>, DEFLATE не може да ги намали допълнително. Всъщност, прилагането на DEFLATE върху вече компресиран образ почти не дава спестявания (около 0 %) и може дори леко да увеличи размера поради заглавията на компресията.</li>
<li>Следователно, DOCX файловете без изображения са изключително малки, докато докладите, натоварени с изображения, почти отразяват точния размер на включените им файлове с изображения.</li>
</ul>
</li>
</ul>
<h3 id="b-xlsx-числови-данни-с-голям-обем--споделени-низове">B. XLSX: Числови данни с голям обем &amp; Споделени низове</h3>
<p>Електронните таблици представляват уникално предизвикателство: лист може да съдържа стотици хиляди редове, което води до астрономически големи XML файлове, ако не се обработват интелигентно.</p>
<ul>
<li><strong>Стратегията за споделени низове (<code>xl/sharedStrings.xml</code>):</strong>
<ul>
<li>Ако текстов етикет като &ldquo;United States&rdquo; или &ldquo;In Progress&rdquo; се появи 50 000 пъти в електронна таблица, съхраняването на <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 клетки би надвишило некондензирания XML до гигабайти.</li>
<li>Excel премахва дублиращия се текст преди компресиране, като съхранява всеки уникален низ веднъж в таблица със споделени низове и го препраща чрез числов индекс (например <code>&lt;v&gt;0&lt;/v&gt;</code>, <code>&lt;v&gt;1&lt;/v&gt;</code>).</li>
</ul>
</li>
<li><strong>Защо XLSX се компресира драматично:</strong>
<ul>
<li>Числовите записи на редове (<code>sheet1.xml</code>) следват повтаряща се, предвидима синтакса.</li>
<li>DEFLATE лесно открива повтарящи се модели в табличен XML. Обичайно е файл с необработени <code>sheet1.xml</code> от 120 MB да се свие до под 6 MB в XLSX архив.</li>
</ul>
</li>
</ul>
<h3 id="c-pptx-слайдове-натоварени-с-медия">C. PPTX: Слайдове, натоварени с медия</h3>
<p>Презентациите са фундаментално различни от документи и електронни таблици:</p>
<ul>
<li><strong>Дилемата с изображенията:</strong> PPTX файловете обикновено се състоят предимно от векторни форми, фонова графика, видеоклипове и слайдове с висока резолюция.</li>
<li><strong>Профил на компресия:</strong> Докато <code>ppt/slides/slide1.xml</code> до <code>slideN.xml</code> се компресират ефективно, медийният товар (<code>ppt/media/</code>) съставлява от 85% до 95% от общото тегло на архива.</li>
<li><strong>Защо повторното компресиране на PPTX не променя нищо:</strong> Ако се опитате да компресирате вече запазен PPTX файл с 7-Zip или WinRAR, ще забележите почти никакво намаляване на размера. Това се дължи на факта, че вътрешността вече е DEFLATE‑компресиран ZIP архив, съдържащ предварително компресирани JPEG‑и и MP4‑а, така че ентропията е почти максимална.</li>
</ul>
<h3 id="d-epub-уеб-технологии-със-задължителен-некомпресиран-заглавен-файл">D. EPUB: Уеб технологии със задължителен некомпресиран заглавен файл</h3>
<p>EPUB файлът е по същество отзивчив, пакетирано микросайт, съдържащ XHTML глави, CSS стилови листове, шрифтове TTF/WOFF и метаданни. Въпреки това, EPUB има едно строго правило за пакетиране, което го отличава от файловете на 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>Магическият файл <code>mimetype</code>:</strong>
<ul>
<li>E‑readers трябва да разпознаят EPUB веднага, без да извличат целия архив или да стартират процеси за декомпресиране.</li>
<li>Отвореният контейнерен формат (OCF) изисква файлът <code>mimetype</code>:
<ol>
<li>Трябва да бъде първият файл в ZIP архива.</li>
<li>Трябва точно да съдържа низа <code>application/epub+zip</code>.</li>
<li><strong>Не трябва да се компресира</strong> (метод за компресия ZIP <code>0</code> / &ldquo;Stored&rdquo;).</li>
<li>Трябва да няма допълнителни данни в полетата, като се гарантира, че MIME низът винаги започва от байт 38 на физическия файл.</li>
</ol>
</li>
</ul>
</li>
<li><strong>Компресиране на текст:</strong> Всички останали файлове (<code>.xhtml</code>, <code>.css</code>, <code>.opf</code>) се компресират с използване на стандартния DEFLATE (метод ZIP <code>8</code>), позволявайки пълномащабните романи да се свият до няколко стотин килобайта.</li>
</ul>
<h2 id="4-сравняване-на-компресията-между-формати">4. Сравняване на компресията между формати</h2>
<table>
<thead>
<tr>
<th style="text-align:left">Формат</th>
<th style="text-align:left">Основен полезен товар</th>
<th style="text-align:left">Основен източник на резерв</th>
<th style="text-align:left">Типично съотношение на компресия (Текст/Маркиране)</th>
<th style="text-align:left">Обработка на медии</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">Повтарящи се XML тагове за параграф/run</td>
<td style="text-align:left">75% – 85%</td>
<td style="text-align:left">Съхранява се в <code>word/media/</code> (повечето предварително компресирани)</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">Повтарящи се тагове за клетки/редове; Споделени низове</td>
<td style="text-align:left">80% – 92%</td>
<td style="text-align:left">Редки; изображения/диаграми в <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">Метаданни за оформление на слайд, координати на форми</td>
<td style="text-align:left">70% – 80%</td>
<td style="text-align:left">Тежкият <code>ppt/media/</code> товар ограничава общите спестявания</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 тагове, повтарящи се CSS селектори</td>
<td style="text-align:left">65% – 80%</td>
<td style="text-align:left"><code>mimetype</code> некомпресиран; медия в подпапки</td>
</tr>
</tbody>
</table>
<h2 id="5-практични-изводи-как-да-оптимизирате-вашите-документи">5. Практични изводи: Как да оптимизирате вашите документи</h2>
<p>Тъй като вече знаете как работи вътрешното пакетиране, можете да използвате механиките за компресия, за да решавате реални проблеми:</p>
<ol>
<li><strong>Поправка на повредени документи:</strong>
Ако документът отказва да се отвори, промяната на разширението на <code>.zip</code> ви позволява да извлечете съдържанието и да възстановите суровия текст от <code>document.xml</code> или отделни глави от директорията <code>text/</code> на EPUB.</li>
<li><strong>Смаляване на огромни офис файлове:</strong>
Тъй като компресията на XML вече е оптимизирана, огромните файлове почти винаги се дължат на неоптимизирани изображения в <code>media/</code>. Вместо да използвате компресори от трети страни за PDF или DOCX, отворете ZIP контейнера, извлечете изображенията, обработете ги с оптимизатор за изображения (като WebP, TinyPNG или MozJPEG) и ги заменете в архива.</li>
<li><strong>Автоматизиране на генерирането на документи:</strong>
Разработчиците не се нуждаят от тежки офис пакети, за да създават отчети. Можете да генерирате сурови XML шаблони, да ги пакетирайте с помощта на стандартни библиотеки за zlib/ZIP и програмено да създавате валидни DOCX или XLSX файлове за милисекунди.</li>
</ol>
<h2 id="6-често-задавани-въпроси-faq">6. Често задавани въпроси (FAQ)</h2>
<p><strong>Мога ли да конвертирам DOCX или EPUB в ZIP файл само като променя разширението на файла?</strong> Да; промяната на разширението на <code>.zip</code> позволява на всеки стандартен архивен инструмент (като 7-Zip, macOS Archive Utility или Windows Explorer) да отвори и директно прегледа вътрешните файлове.</p>
<p><strong>Защо компресирането на DOCX или PPTX с 7-Zip не го прави значително по-малък?</strong> Защото файлът вече е вътрешно компресиран ZIP архив, съдържащ DEFLATE-кодирани XML и предварително компресирани изображения, оставяйки минимална излишност, която външен инструмент да премахне.</p>
<p><strong>Защо EPUB спецификацията изисква файлът <code>mimetype</code> да бъде некомпресиран?</strong> Той позволява на софтуера за електронни четци да провери, че файлът е автентичен EPUB, като проверява MIME низа на фиксиран байтов отместване, без да е необходимо да се инициализира декомпресиращ двигател.</p>
<p><strong>Увеличава ли променянето на форматирането на клетки в Excel размера на компресирания XLSX файл?</strong> Да; обширното персонализирано форматиране нарушава еднородното повторение на шаблони в клетките, създавайки по-дълги XML дефиниции, които намаляват ефективността на компресията на DEFLATE.</p>
<p><strong>Възможно ли е да се извлекат оригинални изображения с висока резолюция от файл на Word или PowerPoint без загуба на качество?</strong> Да; преименувайте файла на <code>.zip</code>, отворете папката <code>word/media</code> или <code>ppt/media</code> и ще намерите оригиналните, некомпресирани изходни изображения точно както са били вмъкнати.</p>
<h2 id="вижте-още">Вижте още</h2>
<ul>
<li><a href="https://blog.fileformat.com/compression/compression-file-formats-at-fileformat-com/">Файлови формати за компресия в FileFormat.com</a></li>
<li><a href="https://blog.fileformat.com/compression/zip-bombs-exploding-your-storage/">ZIP бомби – Разрушаване на вашето съхранение</a></li>
<li><a href="https://blog.fileformat.com/compression/what-is-7z-file-format-comprehensive-guide-and-faqs/">Разбиране на 7z файловия формат - Пълен наръчник и ЧЗВ</a></li>
<li><a href="https://blog.fileformat.com/compression/how-to-open-rar-files-with-best-rar-openers/">7-те най-добри инструмента за отваряне или извличане на RAR файлове</a></li>
</ul>
<!-- raw HTML omitted -->
]]></content:encoded>
    </item>
    
  </channel>
</rss>
