邳州信息网

标题: 技术 | 开放文档格式 ODT 文件格式解析 [打印本页]

作者: 3AAA    时间: 2023-11-5 14:58
标题: 技术 | 开放文档格式 ODT 文件格式解析


开放文档格式(ODF)基于开放标准,你可以使用其它工具检查它们,甚至从中提取数据。你只需要知道从哪里开始。

过去,文字处理文件是封闭的专有格式。在一些较旧的文字处理软件中,文档文件本质上是该软件的内存转储。虽然这样可以让加载文件更快,但也使文档文件格式变得不透明。

2005 年左右,结构化信息标准促进组织Organization for the Advancement of Structured Information Standards(OASIS)为所有类型的办公文档定义了一种开放格式,即办公应用程序开放文档格式Open Document Format for Office Applications(ODF)。由于 ODF 是基于 OpenOffice.org的 XML 文件规范的开放式标准,因此你也可以将其简称为 “开放文档格式”。ODF 包括几种文件类型,包括用于 开放文档文本OpenDocument Text 文档的 ODT。ODT 文件中有很多值得探索的内容,它的本质是一个 Zip 文件。

ODT 文件结构


跟所有 ODF 文件一样,ODT 文件实际上是一个 XML 文档和其它文件的 Zip 压缩包。使用 Zip 可以占用更少的磁盘空间,同时也意味着可以用标准 Zip 工具来检查它。

我有一篇关于 IT 领导力的文章,名为“Nibbled to death by ducks”,我将其保存为 ODT 文件。由于 ODF 文件是一个 zip 容器,你可以用 unzip命令来检查它:
$ unzip -l 'Nibbled to death by ducks.odt'Archive: Nibbled to death by ducks.odtLength Date Time Name39 07-15-2022 22:18 mimetype12713 07-15-2022 22:18 Thumbnails/thumbnail.png915001 07-15-2022 22:18 Pictures/10000201000004500000026DBF6636B0B9352031.png10879 07-15-2022 22:18 content.xml20048 07-15-2022 22:18 styles.xml9576 07-15-2022 22:18 settings.xml757 07-15-2022 22:18 meta.xml260 07-15-2022 22:18 manifest.rdf0 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.xml970465 17 files
我想强调 Zip 文件结构的以下几个元素:


从 ODT 中提取文件


由于 ODT 文档是一个具有特定结构的 Zip 文件,因此可以从中提取文件。你可以先解压缩整个 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$ ls -FConfigurations2/ manifest.rdf meta.xml Pictures/ styles.xmlcontent.xml META-INF/ mimetype settings.xml Thumbnails/
就是这张图片:



开放文档格式


ODF 是一种开放的文件格式,它可以描述文字处理文件(ODT)、电子表格文件(ODS)、演示文稿(ODP)和其它文件类型。由于 ODF 格式基于开放标准,因此可以使用其他工具检查它们,甚至从中提取数据。你只需要知道从哪里开始。所有 ODF 文件都以 META-INF/manifest.xml为“引导”文件,通过它你能找到其余的所有内容。

(题图:MJ/d245ab34-f0b0-452c-b29a-ece9aa78f11a)

via: https://opensource.com/article/22/8/odt-files

作者:Jim Hall选题:lkxed译者:toknow-gh校对:校对者ID

本文由 LCTT原创编译,Linux中国荣誉推出




欢迎光临 邳州信息网 (https://www.pzxxw.com/) Powered by Discuz! X3.4