Open Source
Quire Office Engine
基於 Rust 的高效無損 Office 文件引擎。保證在儲存時未修改部分 100% 位元級完全一致 (byte-identical round-trip),支援 SVG 排版渲染與 WebAssembly 瀏覽器運行。
2026.10.20
// 核心開發
專案資訊
角色:
核心開發
時間:
2026.1
類型:
Open Source
技術棧
Rust
WebAssembly
OOXML
DOCX
Document Engine
SVG
Open Source
Quire — Lossless Office Document Engine in Rust

專案簡介
Quire 是一個使用 Rust 編寫的高效 Office 文件核心引擎,專注於 Office 檔案(以 DOCX 為核心,逐步擴展至 XLSX、PPTX)的無損開啟、排版渲染、SVG 顯示列表輸出與位元級完美儲存(Lossless Round-Trip)。
傳統開源文件函式庫通常將文件解析進自己的資料物件模型中,並在儲存時從零重新序列化輸出,這往往導致未建模的自訂 XML、數位簽章、特殊格式標籤在儲存過程中被無聲丟失。
Quire 透過自研的無損 ZIP 容器層與結構保留機制保證:儲存時僅重寫明確被修改的部分;其他未更動或引擎未識別的段落,皆以 100% 位元級完全一致 (Byte-for-Byte Identical) 的方式封存。在包含 400 份真實世界文件的測試集上,達成 399/399 份文件零位元變動的嚴苛測試門檻。
核心特性
- 🛡️ 位元級無損往返 (Byte-Identical Round-Trip):
- 保留原始壓縮流、ZIP64 結構、Extra Fields、註解與檔案排序,絕不遺漏任何自訂 XML 或未知欄位。
- 📐 精確且一致的排版系統 (Deterministic Layout):
- 實作 Knuth-Plass 斷行演算法(結合 Unicode UAX#14 與真實字型度量規格)。
- 支援增量分頁 (Incremental Pagination, 500 頁長篇文件 p95 延遲低於 8ms)。
- 完整支援多欄排版 (
w:cols)、跨頁重複表頭表格、修訂標記 (w:ins/w:del)、浮動圖片與雙色調陰影。
- 🌐 純前端 WebAssembly 原生支援:
- 核心層完全相容
wasm32-unknown-unknown。 - 可在瀏覽器端完全離線運行(例如 quireoffice.dev/playground),檔案無需上傳伺服器即可完成解壓、解析、排版與繪製。
- 核心層完全相容
- 🔒 零信任安全設計 (Hostile-by-Default):
- 嚴格防範 Zip Bomb(解壓前設有單檔與全包容量門檻)、全包 CRC-32 驗證、32-bit WASM 像素預算防溢出檢查,並設有損毀封包模糊測試門禁。
專案藝廊

