Convert .odt .doc .ods files to .txt files

爷,独闯天下 提交于 2019-12-31 19:57:07

问题


I want to convert all the .odt .doc .xls .pdf files to .txt files.

I want to convert these files to text files using a shell script or a perl script


回答1:


There's a program for odt files and alikes:

odt2txt - avaliable in repos.




回答2:


$ unoconv --format=txt document1.odt

Should produce document1.txt.




回答3:


OpenOffice has a built-in document converter capable of handling a bunch of formats- take a look at unoconv: http://dag.wieers.com/home-made/unoconv/

That being said, I have had some troubles getting that to work in the past- If you're having trouble, take a look at similar programs for AbiWord (another open source word processor).




回答4:


For word documents, you can try antiword, at least on linux. It's a command line utility that takes a word document as an argument, and spits out the text from that document (as best as it can figure) to Standard Output. Maybe you can specify an ouput file too. I can't remember the details of how it works. I haven't used it in a while. Not sure if it can handle OO documents.




回答5:


It's certainly possible to do this, though there is something strange and impenetrable about the OO project and its documentation that makes things like this hard to research and follow. However, OO has the capability to convert all of those types, not just the OO native ones, and it can do it via two different forms of automatic control.

These are the two general approaches.

  1. You can start OO and tell it to execute a macro which does this job for you for a given file. You then just have to write the macro and a script to loop over your files. The syntax is something like

    $ oowriter -headless filename macro://dir/Standard.Module1.sMySub

  2. The other thing OO has is a network API. This is based on something called UNO.

    $ oowriter -accept=accept-string

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

You will need some sort of client library. I think they have one for Python at least. Using this technology a Python program or some other scripting language with an OO client library could drive the program and convert all the files. Since OO reads MSO, it should be able to do all of them.




回答6:


For the Microsoft formats, look into the wvWare tools.




回答7:


Open .ods file normally in libre office

Highlight text to be converted

Open a terminal

Run vi

Press "i" to get insert mode

Press ctrl-shift-v

Done!

Need some formatting?

Save the file as

Get out of vi

Run:

$cat | column >filename2

This worked in opensuse running KDE

Substitute "kwrite" for "vi", if you want



来源:https://stackoverflow.com/questions/1564153/convert-odt-doc-ods-files-to-txt-files

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!