开发者

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

I want to convert all the .odt .doc .xls .pdf files to .txt 开发者_C百科files.

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


There's a program for odt files and alikes:

odt2txt - avaliable in repos.


$ unoconv --format=txt document1.odt

Should produce document1.txt.


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).


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.


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.


Open the file in LibreOffice. Click on "File", "Save-as" scroll down to find the text option. Click that and it will be saved as a text file.

FYI, I had an *.ODT file that was 339.2 KB in size. When I save-as text the size of the file shrunk to ONLY 5.0 KB. Another reason for saving your files as text files.


For the Microsoft formats, look into the wvWare tools.


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

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜