【发布时间】:2010-12-06 13:19:48
【问题描述】:
我想将所有.odt.doc.xls.pdf文件转换为.txt文件。
我想使用 shell 脚本或 perl 脚本将这些文件转换为文本文件
【问题讨论】:
标签: file-conversion
我想将所有.odt.doc.xls.pdf文件转换为.txt文件。
我想使用 shell 脚本或 perl 脚本将这些文件转换为文本文件
【问题讨论】:
标签: file-conversion
有一个用于 odt 文件和类似文件的程序:
odt2txt - 在 repos 中可用。
【讨论】:
$ unoconv --format=txt document1.odt
应该产生document1.txt。
【讨论】:
soffice --headless --convert-to txt *odt 来源:[ask.libreoffice.org/en/question/1671/…
OpenOffice 有一个内置的文档转换器,能够处理多种格式 - 看看 unoconv:http://dag.wieers.com/home-made/unoconv/
话虽如此,过去我在让它工作时遇到了一些麻烦 - 如果您遇到麻烦,请查看 AbiWord(另一个开源文字处理器)的类似程序。
【讨论】:
对于word文档,你可以试试antiword,至少在linux上是这样。它是一个命令行实用程序,它以 word 文档作为参数,并将该文档中的文本(尽其所能)输出到标准输出。也许您也可以指定一个输出文件。我不记得它是如何工作的细节。我有一段时间没有使用它了。不确定它是否可以处理面向对象的文档。
【讨论】:
当然可以做到这一点,尽管 OO 项目及其文档有些奇怪且难以理解,这使得此类事情难以研究和遵循。但是,OO 能够转换所有这些类型,而不仅仅是 OO 原生类型,并且可以通过两种不同形式的自动控制来实现。
这是两种通用方法。
您可以启动 OO 并告诉它执行一个宏,该宏会为您完成给定文件的这项工作。然后你只需要编写宏和脚本来循环你的文件。语法类似于
$ oowriter -headless 文件名宏://dir/Standard.Module1.sMySub
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,应该都能做到。
【讨论】:
在 LibreOffice 中打开文件。单击“文件”,“另存为”向下滚动以找到文本选项。单击它,它将保存为文本文件。
仅供参考,我有一个大小为 339.2 KB 的 *.ODT 文件。当我另存为文本时,文件的大小缩小到只有 5.0 KB。将文件另存为文本文件的另一个原因。
【讨论】:
对于 Microsoft 格式,请查看 wvWare tools。
【讨论】:
在 libre office 中正常打开 .ods 文件
突出显示要转换的文本
打开一个终端
运行 vi
按“i”进入插入模式
按 ctrl-shift-v
完成!
需要一些格式吗?
将文件另存为
离开vi
运行:
$猫 |列>文件名2
这在运行 KDE 的 opensuse 中有效
如果你愿意,用“kwrite”代替“vi”
【讨论】: