From 0966dc2d216918a3e684e770ceb599fab5667c71 Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Wed, 1 Nov 2023 22:37:46 +0800 Subject: [PATCH] ATRP @toknow-gh https://linux.cn/article-16340-1.html --- .../20220815 How ODT files are structured.md | 48 ++++++++++--------- 1 file changed, 26 insertions(+), 22 deletions(-) rename {translated/tech => published}/20220815 How ODT files are structured.md (69%) diff --git a/translated/tech/20220815 How ODT files are structured.md b/published/20220815 How ODT files are structured.md similarity index 69% rename from translated/tech/20220815 How ODT files are structured.md rename to published/20220815 How ODT files are structured.md index bbe10c97e3..5f5c4ff76f 100644 --- a/translated/tech/20220815 How ODT files are structured.md +++ b/published/20220815 How ODT files are structured.md @@ -3,23 +3,26 @@ [#]: author: "Jim Hall https://opensource.com/users/jim-hall" [#]: collector: "lkxed" [#]: translator: "toknow-gh" -[#]: reviewer: " " -[#]: publisher: " " -[#]: url: " " +[#]: reviewer: "wxy" +[#]: publisher: "wxy" +[#]: url: "https://linux.cn/article-16340-1.html" -ODT 文件格式简介 +开放文档格式 ODT 文件格式解析 ====== -ODF 格式基于开放标准,你可以使用其它工具检查它们,甚至从中提取数据。你只需要知道从哪里开始。 -文字处理文件过去是封闭的专有格式。在一些较旧的文字处理程序中,文档文件本质上是软件的内存转储。虽然这样可以让加载文件更快,但也使文档文件格式变得不透明。 +![][0] -2005 年左右,结构化信息标准促进组织 Organization for the Advancement of Structured Information Standards(OASIS)为所有类型的办公文档定义了一种开放格式,即办公应用程序开放文档格式Open Document Format(ODF)。你也可以将 ODF 称为“OpenDocument Format”,因为它是基于[OpenOffice.org][4] 的 XML 文件规范制定的。ODF 包括几种文件类型,包括用于 OpenDocument Text 文档的 ODT。ODT 文件中有很多东西可以讲的,它的本质是一个 zip 文件。 +> 开放文档格式(ODF)基于开放标准,你可以使用其它工具检查它们,甚至从中提取数据。你只需要知道从哪里开始。 + +过去,文字处理文件是封闭的专有格式。在一些较旧的文字处理软件中,文档文件本质上是该软件的内存转储。虽然这样可以让加载文件更快,但也使文档文件格式变得不透明。 + +2005 年左右,结构化信息标准促进组织 Organization for the Advancement of Structured Information Standards(OASIS)为所有类型的办公文档定义了一种开放格式,即办公应用程序开放文档格式Open Document Format for Office Applications(ODF)。由于 ODF 是基于 [OpenOffice.org][4] 的 XML 文件规范的开放式标准,因此你也可以将其简称为 “开放文档格式”。ODF 包括几种文件类型,包括用于 开放文档文本OpenDocument Text 文档的 ODT。ODT 文件中有很多值得探索的内容,它的本质是一个 Zip 文件。 ### ODT 文件结构 -跟所有 ODF 文件一样,ODT 文件实际上是一个 XML 文档和其它文件的 zip 压缩包。使用zip 可以占用更少的磁盘空间,同时也意味着可以用标准 zip 工具来检查它。 +跟所有 ODF 文件一样,ODT 文件实际上是一个 XML 文档和其它文件的 Zip 压缩包。使用 Zip 可以占用更少的磁盘空间,同时也意味着可以用标准 Zip 工具来检查它。 -我有一篇关于 IT 领导力的文章,名为“Nibbled to death by ducks”,我将其保存为 ODT 文件。由于 ODF 文件是一个 zip 容器,你可以用 unzip 命令来检查它: +我有一篇关于 IT 领导力的文章,名为“Nibbled to death by ducks”,我将其保存为 ODT 文件。由于 ODF 文件是一个 zip 容器,你可以用 `unzip` 命令来检查它: ``` $ unzip -l 'Nibbled to death by ducks.odt' @@ -45,26 +48,26 @@ Length Date Time Name 970465 17 files ``` -我想强调 zip 文件结构的以下几个元素: +我想强调 Zip 文件结构的以下几个元素: 1. `mimetype` 文件用于定义 ODF 文档。处理 ODT 文件的程序,如文字处理程序,可以使用该文件来验证文档的 MIME 类型。对于 ODT 文件,它应该总是: -``` -application/vnd.oasis.opendocument.text -``` + ``` + application/vnd.oasis.opendocument.text + ``` -1. `META-INF` 目录中有一个 `manifest.xml` 文件。它包含查找 ODT 文件其它组件的所有信息。任何读取 ODT 文件的程序都从这个文件开始定位其它内容。例如,我的 ODT 文档的 `manifest.xml` 文件包含这一行,它定义了在哪里可以找到主要内容: +2. `META-INF` 目录中有一个 `manifest.xml` 文件。它包含查找 ODT 文件其它组件的所有信息。任何读取 ODT 文件的程序都从这个文件开始定位其它内容。例如,我的 ODT 文档的 `manifest.xml` 文件包含这一行,它定义了在哪里可以找到主要内容: -``` - -``` + ``` + + ``` -1. `content.xml` 文件包含文档的实际内容。 -2. 我的文档中只有一张截图,它位于 `Pictures` 目录中。 +3. `content.xml` 文件包含文档的实际内容。 +4. 我的文档中只有一张截图,它位于 `Pictures` 目录中。 ### 从 ODT 中提取文件 -由于 ODT 文档是一个具有特定结构的 zip 文件,因此可以从中提取文件。你可以先解压缩整个 ODT 文件,例如使用 unzip 命令: +由于 ODT 文档是一个具有特定结构的 Zip 文件,因此可以从中提取文件。你可以先解压缩整个 ODT 文件,例如使用 `unzip` 命令: ``` $ unzip -q 'Nibbled to death by ducks.odt' -d Nibbled @@ -91,12 +94,12 @@ content.xml META-INF/ mimetype settings.xml Thumbnails/ ![Image of rubber ducks in two bowls][5] -Image by: (Jim Hall, CC BY-SA 40) - ### 开放文档格式 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 @@ -115,3 +118,4 @@ via: https://opensource.com/article/22/8/odt-files [3]: https://unsplash.com/s/photos/tea-cup-computer?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText [4]: http://OpenOffice.org [5]: https://opensource.com/sites/default/files/2022-07/ducks.png +[0]: https://img.linux.net.cn/data/attachment/album/202311/01/223607j3nvjcuw5jcocbz3.jpg \ No newline at end of file