标签 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.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

我想强调 Zip 文件结构的以下几个元素:

  1. mimetype 文件用于定义 ODF 文档。处理 ODT 文件的程序,如文字处理程序,可以使用该文件来验证文档的 MIME 类型。对于 ODT 文件,它应该总是:
application/vnd.oasis.opendocument.text
  1. META-INF 目录中有一个 manifest.xml 文件。它包含查找 ODT 文件其它组件的所有信息。任何读取 ODT 文件的程序都从这个文件开始定位其它内容。例如,我的 ODT 文档的 manifest.xml 文件包含这一行,它定义了在哪里可以找到主要内容:
<manifest:file-entry manifest:full-path="content.xml" manifest:media-type="text/xml"/>
  1. content.xml 文件包含文档的实际内容。
  2. 我的文档中只有一张截图,它位于 Pictures 目录中。

从 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
<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 文件夹中。可以通过列出目录的内容来验证:

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

就是这张图片:

Image of rubber ducks in two bowls

开放文档格式

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中国 荣誉推出

看一下 less、Antiword 和 odt2xt 这三个实用程序,它们都可以在终端中查看文件。

我常说,你不需要使用命令行也可以高效使用 Linux —— 我知道许多 Linux 用户从不打开终端窗口,并且也用的挺好。然而,即使我不认为自己是一名技术人员,我也会在命令行上花费大约 20% 的计算时间,包括操作文件、处理文本和使用实用程序。

我经常在终端窗口中做的一件事是查看文件,无论是文本还是需要用到文字处理器的文件。有时使用命令行实用程序比启动文本编辑器或文字处理器更容易。

下面是我在命令行中用来查看文件的三个实用程序。

less

less 的美妙之处在于它易于使用,它将你正在查看的文件分解为块(或页面),这使得它们更易于阅读。你可以使用它在命令行查看文本文件,例如 README、HTML 文件、LaTeX 文件或其他任何纯文本文件。我在上一篇文章中介绍了 less

要使用 less,只需输入:

less file_name

通过按键盘上的空格键或 PgDn 键向下滚动文件,按 PgUp 键向上移动文件。要停止查看文件,按键盘上的 Q 键。

Antiword

Antiword 是一个很好地实用小程序,你可以使用它将 Word 文档转换为纯文本。只要你想,还可以将它们转换为 PostScriptPDF。在本文中,让我们继续使用文本转换。

Antiword 可以读取和转换 Word 2.0 到 2003 版本创建的文件(LCTT 译注:此处疑为 Word 2000,因为 Word 2.0 for DOS 发布于 1984 年,而 WinWord 2.0 发布于 1991 年,都似乎太老了)。它不能读取 DOCX 文件 —— 如果你尝试这样做,Antiword 会显示一条错误消息,表明你尝试读取的是一个 ZIP 文件。这在技术上说是正确的,但仍然令人沮丧。

要使用 Antiword 查看 Word 文档,输入以下命令:

antiword file_name.doc

Antiword 将文档转换为文本并显示在终端窗口中。不幸的是,它不能在终端中将文档分解成页面。不过,你可以将 Antiword 的输出重定向到 lessmore 之类的实用程序,一遍对其进行分页。通过输入以下命令来执行此操作:

antiword file_name.doc | less

如果你是命令行的新手,那么我告诉你 | 称为管道。这就是重定向。

odt2txt

作为一个优秀的开源公民,你会希望尽可能多地使用开放格式。对于你的文字处理需求,你可能需要处理 ODT 文件(由诸如 LibreOffice Writer 和 AbiWord 等文字处理器使用)而不是 Word 文件。即使没有,也可能会遇到 ODT 文件。而且,即使你的计算机上没有安装 Writer 或 AbiWord,也很容易在命令行中查看它们。

怎样做呢?用一个名叫 odt2txt 的实用小程序。正如你猜到的那样,odt2txt 将 ODT 文件转换为纯文本。要使用它,运行以下命令:

odt2txt file_name.odt

与 Antiword 一样,odt2txt 将文档转换为文本并在终端窗口中显示。和 Antiword 一样,它不会对文档进行分页。但是,你也可以使用以下命令将 odt2txt 的输出管道传输到 lessmore 这样的实用程序中:

odt2txt file_name.odt | more

你有一个最喜欢的在命令行中查看文件的实用程序吗?欢迎留下评论与社区分享。


via: https://opensource.com/article/19/2/view-files-command-line

作者:Scott Nesbitt 选题:lujun9972 译者:MjSeven 校对:wxy

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

在学校、公司、政府,或者是在网页传播的书籍、文档、报告、教程等等文档均被封装成各种格式。

有时候,会有某一些特定的需求,比如把一个文档转换成PDF格式,这时通过LibreOffice. 就能轻易完成。

使用LibreOffice Writer,用户可以轻易地把书籍、文档等等文件转换成PDF格式,而且还可以把任意可以打开的格式转换成PDF格式。

举个例子,把DOC文档转换成PDF格式

  • 右键单击DOC文档,点击“Open With LibreOffice Writer”,使用LibreOffice打开DOC文档

  • 在导航栏中依次选中LibreOffice-->File-->Export as PDF,在弹出的PDF Options对话框中,选择文件路径(对话框中程序已经智能的设置了默认选项)

点击Export按钮,就能把DOC文档转换成PDF格式并且保存在指定目录。

成果:在DOC文档边上的就是新的PDF文档(原有的DOC文档仍被保留)。

同样的道理,还可以应用在RTF, DOCX, ODT等其他格式的文档上。


via: http://iloveubuntu.net/how-convert-docx-doc-rtf-odt-pdf-libreoffice

译者:NearTan 校对:wxy

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