自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

開放文檔格式 ODT 文件格式解析

系統(tǒng)
開放文檔格式(ODF)基于開放標(biāo)準(zhǔn),你可以使用其它工具檢查它們,甚至從中提取數(shù)據(jù)。你只需要知道從哪里開始。

過去,文字處理文件是封閉的專有格式。在一些較舊的文字處理軟件中,文檔文件本質(zhì)上是該軟件的內(nèi)存轉(zhuǎn)儲(chǔ)。雖然這樣可以讓加載文件更快,但也使文檔文件格式變得不透明。

2005 年左右,結(jié)構(gòu)化信息標(biāo)準(zhǔn)促進(jìn)組織Organization for the Advancement of Structured Information Standards(OASIS)為所有類型的辦公文檔定義了一種開放格式,即辦公應(yīng)用程序開放文檔格式Open Document Format for Office Applications(ODF)。由于 ODF 是基于 OpenOffice.org 的 XML 文件規(guī)范的開放式標(biāo)準(zhǔn),因此你也可以將其簡(jiǎn)稱為 “開放文檔格式”。ODF 包括幾種文件類型,包括用于 開放文檔文本OpenDocument Text

ODT 文件結(jié)構(gòu)

跟所有 ODF 文件一樣,ODT 文件實(shí)際上是一個(gè) XML 文檔和其它文件的 Zip 壓縮包。使用 Zip 可以占用更少的磁盤空間,同時(shí)也意味著可以用標(biāo)準(zhǔn) Zip 工具來檢查它。

我有一篇關(guān)于 IT 領(lǐng)導(dǎo)力的文章,名為“Nibbled to death by ducks”,我將其保存為 ODT 文件。由于 ODF 文件是一個(gè) zip 容器,你可以用 unzip 命令來檢查它:

$ unzip -l 'Nibbled to death by ducks.odt'
Archive: Nibbled to death by ducks.odt
Length Date Time Name
39 07-15-2022 22:18 mimetype
12713 07-15-2022 22:18 Thumbnails/thumbnail.png
915001 07-15-2022 22:18 Pictures/10000201000004500000026DBF6636B0B9352031.png
10879 07-15-2022 22:18 content.xml
20048 07-15-2022 22:18 styles.xml
9576 07-15-2022 22:18 settings.xml
757 07-15-2022 22:18 meta.xml
260 07-15-2022 22:18 manifest.rdf
0 07-15-2022 22:18 Configurations2/accelerator/
0 07-15-2022 22:18 Configurations2/toolpanel/
0 07-15-2022 22:18 Configurations2/statusbar/
0 07-15-2022 22:18 Configurations2/progressbar/
0 07-15-2022 22:18 Configurations2/toolbar/
0 07-15-2022 22:18 Configurations2/popupmenu/
0 07-15-2022 22:18 Configurations2/floater/
0 07-15-2022 22:18 Configurations2/menubar/
1192 07-15-2022 22:18 META-INF/manifest.xml
970465 17 files

我想強(qiáng)調(diào) Zip 文件結(jié)構(gòu)的以下幾個(gè)元素:

  1. mimetype 文件用于定義 ODF 文檔。處理 ODT 文件的程序,如文字處理程序,可以使用該文件來驗(yàn)證文檔的 MIME 類型。對(duì)于 ODT 文件,它應(yīng)該總是:
application/vnd.oasis.opendocument.text
  1. META-INF 目錄中有一個(gè) manifest.xml 文件。它包含查找 ODT 文件其它組件的所有信息。任何讀取 ODT 文件的程序都從這個(gè)文件開始定位其它內(nèi)容。例如,我的 ODT 文檔的 manifest.xml 文件包含這一行,它定義了在哪里可以找到主要內(nèi)容:
<manifest:file-entry manifest:full-path="content.xml" manifest:media-type="text/xml"/>
  1. content.xml 文件包含文檔的實(shí)際內(nèi)容。
  2. 我的文檔中只有一張截圖,它位于 Pictures 目錄中。

從 ODT 中提取文件

由于 ODT 文檔是一個(gè)具有特定結(jié)構(gòu)的 Zip 文件,因此可以從中提取文件。你可以先解壓縮整個(gè) ODT 文件,例如使用 unzip 命令:

$ unzip -q 'Nibbled to death by ducks.odt' -d Nibbled

一位同事最近向我要了一份我在文章中提到的圖片。通過查看 META-INF/manifest.xml 文件,我找到了嵌入圖像的確切位置。用 grep 命令可以找到描述圖像的行:

$ cd Nibbled
$ grep image META-INF/manifest.xml
<manifest:file-entry manifest:full-path="Thumbnails/thumbnail.png" manifest:media-type="image/png"/>
<manifest:file-entry manifest:full-path="Pictures/10000201000004500000026DBF6636B0B9352031.png" manifest:media-type=" image/png”/>

我要找的圖像保存在 Pictures 文件夾中??梢酝ㄟ^列出目錄的內(nèi)容來驗(yàn)證:

$ ls -F
Configurations2/ manifest.rdf meta.xml Pictures/ styles.xml
content.xml META-INF/ mimetype settings.xml Thumbnails/

就是這張圖片:

Image of rubber ducks in two bowlsImage of rubber ducks in two bowls

開放文檔格式

ODF 是一種開放的文件格式,它可以描述文字處理文件(ODT)、電子表格文件(ODS)、演示文稿(ODP)和其它文件類型。由于 ODF 格式基于開放標(biāo)準(zhǔn),因此可以使用其他工具檢查它們,甚至從中提取數(shù)據(jù)。你只需要知道從哪里開始。所有 ODF 文件都以 META-INF/manifest.xml 為“引導(dǎo)”文件,通過它你能找到其余的所有內(nèi)容。

責(zé)任編輯:龐桂玉 來源: Linux中國
相關(guān)推薦

2012-05-29 09:06:32

Hadoop文件格式

2012-05-29 09:48:21

Hadoop

2016-12-01 14:47:20

2019-11-18 09:00:10

大數(shù)據(jù)數(shù)據(jù)格式文件格式

2021-09-29 15:52:26

計(jì)算機(jī)配置文件語言

2017-08-25 17:41:17

Paradox數(shù)據(jù)文件格式

2010-08-03 15:40:30

NFS文件格式

2024-04-24 08:43:06

Figmafig 文件圖形編輯器

2024-01-24 08:53:55

Figma設(shè)計(jì)文件fig 文件

2009-07-20 09:44:31

DB2外部文件格式

2009-08-05 10:57:17

ASP.NET配置文件配置文件格式

2017-06-16 09:58:34

Hive格式壓縮算法

2009-06-02 14:12:26

Hibernate配置文件格式

2010-08-02 11:38:43

DB2外部文件格式

2024-03-17 19:14:28

2010-08-02 14:19:28

DB2數(shù)據(jù)庫

2010-08-02 14:09:57

DB2數(shù)據(jù)庫

2022-07-02 15:06:06

Pandoc文件Markdown

2009-06-20 09:21:37

UNIXLINUX

2011-09-13 18:09:15

Eclipse And
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)