FileDummy Logo
FileDummy
Cấu Trúc Tệp & Chuyên Sâu

Bản Chất File DOCX Là Gì? Giải Mã Định Dạng Office Open XML

Tại sao file Word DOCX thực chất là một tệp nén ZIP chứa các cây thư mục XML và cách chỉnh sửa văn bản trực tiếp không cần cài Microsoft Word.

17 tháng 9, 202611 phút đọc1,420 lượt xem
docxopenxmlfile-formatxmldeep-dive

Nhiều lập trình viên ngạc nhiên khi biết rằng một tệp Microsoft Word .docx không phải là tệp nhị phân độc quyền nguyên khối. Thực ra nó là một archive ZIP tiêu chuẩn chứa các tài liệu XML có thể đọc được, tài nguyên media và định nghĩa mối quan hệ tuân theo chuẩn Office Open XML (ECMA-376 / ISO 29500).

Giải Nén Tệp DOCX

Vì DOCX là một container ZIP, bạn có thể đổi tên document.docx thành document.zip và giải nén bằng các tiện ích archive tiêu chuẩn:

Terminal
unzip sample.docx -d extracted_doc/
tree extracted_doc/
Code
extracted_doc/
├── [Content_Types].xml       <-- Ánh xạ các phần với MIME content type của chúng
├── _rels/
│   └── .rels                 <-- Mối quan hệ gói gốc
└── word/
    ├── document.xml          <-- Văn bản thực tế, đoạn văn và bảng biểu
    ├── fontTable.xml         <-- Khai báo font nhúng
    ├── settings.xml          <-- Tùy chọn view tài liệu và mức zoom
    ├── styles.xml            <-- Quy tắc định dạng đoạn văn và ký tự
    ├── media/                <-- Hình ảnh PNG, JPG, hoặc SVG nhúng
    └── _rels/
        └── document.xml.rels <-- Liên kết, hình ảnh và tham chiếu ngoài
Thử Nghiệm Thực Tế.docx

Tải file DOCX mẫu 10MB để giải nén và kiểm tra cấu trúc XML nội tại của nó.

Tải File Mẫu 10MB DOCX →

Kiểm Tra word/document.xml

Bên trong word/document.xml, nội dung được tổ chức thành đoạn văn (<w:p>) và run (<w:r>):

XML
<w:p>
  <w:pPr>
    <w:pStyle w:val="Heading1"/>
  </w:pPr>
  <w:r>
    <w:t>Tóm Tắt Tài Chính Hàng Quý</w:t>
  </w:r>
</w:p>

Tại Sao Điều Này Quan Trọng Với Lập Trình Viên

  • Chỉnh sửa lập trình nhanh: Bạn có thể chỉnh sửa văn bản tài liệu hoặc thay thế biến mẫu bằng cách giải nén archive, thực thi regex hoặc thay thế DOM trên word/document.xml, rồi nén lại mà không cần cài Microsoft Word.
  • Phục hồi dữ liệu: Nếu tệp DOCX bị hỏng, việc trích xuất document.xml thô thường phục hồi được 100% văn bản gốc.
NDL

Nguyễn Đại Long

Tác Giả

Backend Lead • Chuyên gia Kiến trúc Hệ thống Phân tán & Lưu trữ Đám mây

Hơn 4 năm kinh nghiệm thiết kế các hệ thống xử lý tệp tải lên thông lượng lớn, tối ưu hóa cơ sở dữ liệu và hạ tầng phân tán Cloudflare R2 / AWS S3. Người sáng lập FileDummy và Mạng lưới Hệ sinh thái NDL.

Bài viết này có hữu ích không?

Bấm Thích để ủng hộ tác giả và giúp bài viết lan tỏa tới cộng đồng lập trình viên.

Thảo Luận Kỹ Thuật & Đóng Góp Ý Kiến (0)

Chia sẻ kết quả benchmark, phản hồi các trường hợp biên hoặc đặt câu hỏi chuyên môn.

0/3000

Chưa có bình luận nào. Hãy là lập trình viên đầu tiên bắt đầu cuộc thảo luận!

Câu Hỏi Thường Gặp (FAQ)

How do I manually inspect the contents of a DOCX file?▾

Rename document.docx to document.zip and extract it. You will find folders like word/, _rels/, and [Content_Types].xml. The main content is in word/document.xml. Open it in a text editor to see the raw OpenXML markup.

What is word/document.xml inside a DOCX?▾

It contains the main body content in OpenXML markup. Paragraphs are w:p elements, text runs are w:r, text content is w:t. Tables are w:tbl. Styles (fonts, colors) are referenced by ID from word/styles.xml.

Why does DOCX use ZIP compression?▾

OOXML uses ZIP to package multiple related XML files (content, styles, images, relationships) into one portable file. ZIP compression significantly reduces file size — a 10MB DOCX might contain 50MB of uncompressed XML. This is also why DOCX magic bytes are identical to ZIP: 50 4B 03 04.

Bài Viết Liên Quan