20

我想将所有.odt .doc .xls .pdf文件转换为.txt文件。

我想使用 shell 脚本或 perl 脚本将这些文件转换为文本文件

4

8 回答 8

28

有一个用于 odt 文件和类似文件的程序:

odt2txt - 在 repos 中可用。

于 2010-04-29T10:24:17.527 回答
14
$ unoconv --format=txt document1.odt

应该产生document1.txt。

于 2010-07-20T19:45:10.647 回答
2

OpenOffice 有一个内置的文档转换器,能够处理一堆格式——看看 unoconv:http ://dag.wieers.com/home-made/unoconv/

话虽如此,过去我在让它工作时遇到了一些麻烦——如果你遇到麻烦,请查看 AbiWord(另一个开源文字处理器)的类似程序。

于 2009-10-14T04:10:33.347 回答
1

对于 word 文档,您可以尝试antiword,至少在 linux 上。它是一个命令行实用程序,将 word 文档作为参数,并将该文档中的文本(尽其所能)输出到标准输出。也许您也可以指定一个输出文件。我不记得它是如何工作的细节。我有一段时间没有使用它了。不确定它是否可以处理 OO 文档。

于 2009-10-14T04:31:36.753 回答
1

这样做当然是可能的,尽管 OO 项目及其文档有些奇怪且难以理解,这使得此类事情难以研究和遵循。但是,OO 能够转换所有这些类型,而不仅仅是 OO 原生类型,它可以通过两种不同形式的自动控制来实现。

这是两种通用的方法。

  1. 您可以启动 OO 并告诉它执行一个宏,该宏会为您完成给定文件的这项工作。然后,您只需要编写宏和脚本来循环您的文件。语法类似于

    $ oowriter -headless 文件名宏://dir/Standard.Module1.sMySub

  2. OO 的另一件事是网络 API。这是基于称为 UNO 的东西。

    $ oowriter -accept=接受字符串

    Notifies  the  OpenOffice.org software that upon the creation of
    "UNO Acceptor Threads", a "UNO Accept String" will be used.
    

您将需要某种客户端库。我认为他们至少有一个用于 Python 的。使用这项技术,Python 程序或其他带有 OO 客户端库的脚本语言可以驱动程序并转换所有文件。由于OO读取MSO,它应该能够完成所有这些。

于 2009-10-14T04:18:30.320 回答
1

在 LibreOffice 中打开文件。单击“文件”,“另存为”向下滚动以找到文本选项。单击它,它将保存为文本文件。

仅供参考,我有一个大小为 339.2 KB 的 *.ODT 文件。当我另存为文本时,文件的大小缩小到只有 5.0 KB。将文件另存为文本文件的另一个原因。

于 2020-08-04T13:58:55.047 回答
0

对于 Microsoft 格式,请查看wvWare 工具

于 2009-10-14T04:38:28.923 回答
-1

在 libre office 中正常打开 .ods 文件

突出显示要转换的文本

打开终端

运行 vi

按“i”进入插入模式

按 ctrl-shift-v

完毕!

需要一些格式吗?

将文件另存为

离开 vi

跑:

$猫 | 列>文件名2

这适用于运行 KDE 的 opensuse

如果需要,用“kwrite”替换“vi”

于 2014-04-21T01:21:56.080 回答