Office 文件解析 文件格式和協議

2021-10-08 10:40:22 字數 1262 閱讀 3370

本文討論的 office 文件指的是 office 2007 及以後的 pptx 和 xlsx 等格式的檔案。在 office 2007 之前使用的不公開標準的二進位制格式定義。在 office 2007 之後的文件格式使用 ooxml 國際標準定義,本文將告訴大家這個標準的協議和格式

在 office 2007 之後的 office 文件格式採用的是 ooxml 標準格式。那什麼是 ooxml 標準?這裡的 ooxml 的全稱是 office open xml file formats 或被稱為 openxml 格式,這是乙個基於 zip+xml 定義的文件格式。這個標準最初是由 ecma-376 定義的,後來 iso/iec 29500 也開始摻和 ooxml 格式的定義,不過可以認為從 ecma-376 的第2版開始,這兩個標準是一樣的

微軟的 office 實現了 ooxml 格式,但僅實現其中一部分,詳細描述請看 官方文件

在 ooxml 格式裡面,如上文所說是基於 zip+xml 定義的,這裡的 zip 提供檔案的支援,而 xml 提供內容的支援。不過 ooxml 使用的 zip 也是有規範的,這裡使用 opc (open package convention) 中文名叫 開放打包協定 作為檔案儲存格式。當然,這並非說 opc 使用特殊的 zip 格式,而是 opc 規定了檔案存放的儲存格式,然後將這些檔案使用 zip 打包為乙個檔案。因此 乙個 opc 檔案(不管其檔案字尾是什麼)本質上就是乙個 zip 檔案,你可以用任何常見的解壓軟體進行解壓,解壓後你看到的那些檔案的組織結構,就是以 opc 定義的方式儲存的

在 ecma-376,fourth edition,part 2 詳細定義了 opc 開放打包協定。在 opc 裡面有三個重要的概念,分別是 part 和 relationship 和 contenttypes 這三個

什麼是 part 簡單理解就是 zip 的檔案,每乙個檔案都是乙個 part 可以是任何格式,比如和xml檔案等。在 office 檔案中,各種 markup language 定義的內容就作為 xml 儲存在 part 中

而 relationship 是一種特殊的 part 檔案,它描述了各 part 之間的依賴關係。根據opc協議的規定,所有的 relationship 都必須儲存在名為 _rels 的資料夾中,並且所有 relationship 的檔名都必須以 .rels 為字尾。每個 part 可以根據自身的業務需求有乙個對應的 relationship 檔案,這個對應的 relationship 檔案必須存放在這個 part 檔案所在資料夾的 _rels 資料夾裡面,同時要求使用 part 檔案加上 .rels 字尾,不能使用其他名字

Office文件,pdf文件轉swf

以下操作的環境,ubuntu server版本,64位 openoffice swftools 先檢視操作是多少位的,然後去相應的jdk,和tomcat,最少是jdk6以上的版本 將jdk和tomcat解壓 開啟 etc environment 檔案 在path後面新增配置資訊 在path最後加上乙...

介面文件格式

幻寵大陸 專案協議文件 協議格式說明 遊戲系統中協議是由兩部分組成 協議頭 協議體。其中協議頭的資料長度為固定。如下顯示 客戶端傳送的訊息格式 字段意義 字段型別 說明訊息長度 int描述協議體的長度,包括當前 訊息頭short 協議 id 訊息回執碼 short 壓縮或加密的標識,或者是回執碼 訊...

xml文件解析

import gdataxmlnode.h 建立xml文件 取出所有 promotion節點 nsarray array document nodesforxpath promotion error nil 建模 for gdataxmlelement element inarray 使用gdata...