Come estrarre il testo dai documenti MS Office in Linux?


18

Ho bisogno di un modo per estrarre il testo da tutti i tipi di documenti di MS Office (Word, Excel, Powerpoint), in Linux. Immagino che potrebbero esserci diversi approcci per ottenere questo risultato, come uno script Bash o Python, o convertirli in PDF e quindi estrarre il testo usando uno strumento come pdftotext.

Sembra che potrebbe essere un requisito comune. Esiste una procedura o uno strumento stabilito per farlo facilmente?

Risposte:


16

Catdoc può convertire doc, xls e ppt in testo. La seconda opzione sarebbe wvWare .

Per ulteriori programmi di utilità, consultare http://www.linux.com/archive/articles/52385 per i word-to-textter e


Catdoc! Questa è la cosa che sto cercando! Funzionerà anche con ODF?
Phyo Arkar Lwin,

Ho appena cercato su Google e ottenuto stosberg.net/odt2txt . mai provato, sembra che faccia il lavoro.
nahar,

Figo, grazie. catdoc è ok ma non può convertire xls, ppt per testare, io uso xls2csv e apache-tika per loro. controllali!
Phyo Arkar Lwin,

@nahar, odt2txt funziona solo su formato odt, non su ms doc.
Allen

1
grande, catdoc mi dà un errore di segmentazione
fotanus,

8

Ho finalmente trovato lo strumento perfetto per l'analisi del documento di scripting, è apache-tika, può analizzare gazillion di formati non testuali in testo che è molto bello!

Ottieni Apache Tika qui:

http://tika.apache.org/

(Utenti Mac Homebrew: brew install tika)

L'interfaccia della riga di comando funziona in questo modo:

tika --text something.docx > something.txt


+1: Apache Tika è un serio progetto Open source, funziona anche in Windows, funziona dalla riga di comando, ha una GUI con trascinamento della selezione, apre qualsiasi cosa (Word, Excel, PowerPoint, PDF, svg), estrae i metadati di anche il documento. Dopo aver provato la maggior parte degli strumenti sopra, Apache Tika è quello che stavo cercando. Questa dovrebbe essere la risposta accettata (non so se puoi accettare la tua risposta)
user2518618

2
ha fatto senza vergogna ...: D
Phyo Arkar Lwin il

7

Abiword può convertire dalla riga di comando tra tutti i formati di file che conosce.

Converti da Word a testo semplice:

abiword --to=txt myfile.doc

Crea un pdf da un file Word:

abiword --to=pdf myfile.doc

E così via. I risultati in questi casi sarebbero myfile.txt o myfile.pdf. Se vuoi specificare il nome dell'output puoi farlo anche tu:

abiword --to=txt --to-name=output.txt myfile.doc

Converti ODT in Word:

abiword --to=doc myfile.odt

Converti Word in ODT:

abiword --to=odt myfile.doc

In tutta onestà ad altre risposte, va notato che AbiWord utilizza wvWare per gestire i documenti di Word, ma anche la homepage di wvWare consiglia invece di utilizzare AbiWord per la maggior parte delle conversioni.

Odio i word processor. Questo è il motivo principale per cui ho installato AbiWord.

Potresti anche essere interessato a unoconv , che è uno strumento simile che supporta i formati che OpenOffice conosce (che includerebbe fogli di calcolo e simili), ma non ho esperienza personale con esso.


Per il documento .docx è un casino: S Ma una buona soluzione per .doc
Warface

3

Con LibreOffice puoi fare:

libreoffice --invisible --convert-to pdf file1.ppt file2.ppt

4
Puoi usare il filtro Testo per convertire in txt: libreoffice --invisible - converti-in txt: file di testo
Gagaro

0

È possibile utilizzare CUPS (stampante virtuale) e utilizzando ld.


Interessante, può convertire qualsiasi materiale stampabile in PDF? Puoi indicarmi come esempio per Doc o Xls?
Phyo Arkar Lwin,

0

wv è un'opzione e IIRC OpenOffice può essere detto dalla riga di comando per esportare come pdf ed uscire.


unoconv sembra essere lo strumento correlato a OpenOffice che non riuscivo a ricordare.
ptman,


0

1.doc catdoc o antiword per i file doc da convertire è possibile utilizzare il seguente comando catdoc file.doc> file o antiword file.doc> file

  1. docx docx2txt

  2. pdf emacs file.pdf file ctrl-x ctrl-s


(1) Catdoc è stato proposto in una risposta che è stata pubblicata entro un'ora dalla domanda, quasi tre anni fa. Perché lo ripeti? (2) Dove si può ottenere l'antiword? (3) Cosa significa la metà inferiore della tua risposta?
Scott,

-1

Docsplit è lo strumento perfetto per estrarre il testo da pdf. È una gemma rubino. Quindi dovresti installare ruby ​​e gem nel tuo sistema linux prima di usare il comando docsplit.

Se il tuo sistema non aveva il rubino e la gemma, segui le istruzioni.

Devi essere root per installare il software (supponendo che tu voglia che sia disponibile per tutti gli utenti).

Installa il ruby ​​su Linux: yum installa il ruby
Installa il gem, scarica l'ultimo pacchetto gem, quindi segui le istruzioni

tar xzf rubygems-xxxx.tgz
cd rubygems-xxxx
ruby setup.rb

Ora che RubyGems è installato, dovresti avere il comando gem (gem è il comando usato per interagire con il sistema di pacchetti RubyGems). Provalo eseguendo:

lista di gemme

Ora, vai al passaggio successivo, per installare la gemma docsplit, vai al seguente sito. http://documentcloud.github.com/docsplit/


Questo è esattamente l'opposto di ciò che l'OP ha richiesto.
CarlF,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.