Comment extraire le texte des documents MS Office sous Linux?

18

J'ai besoin d'un moyen d'extraire le texte de tous les types de documents MS Office (Word, Excel, Powerpoint), sous Linux. J'imagine qu'il pourrait y avoir plusieurs approches différentes pour accomplir cela, comme un script Bash ou Python, ou les convertir en PDF puis extraire le texte à l'aide d'un outil tel que pdftotext.

Cela semble être une exigence courante. Existe-t-il une procédure ou un outil établi pour y parvenir facilement?

Phyo Arkar Lwin
la source

Réponses:

16

Catdoc peut convertir doc, xls et ppt en texte. La deuxième option serait wvWare .

Pour plus d'utils, consultez http://www.linux.com/archive/articles/52385 pour les convertisseurs de texte en texte et

nahar
la source
Catdoc! C'est la chose que je recherche! Cela fonctionnera-t-il également pour ODF?
Phyo Arkar Lwin du
Je viens de googler et j'ai obtenu stosberg.net/odt2txt . je ne l'ai jamais essayé, on dirait que ça fait l'affaire.
nahar
cool merci. catdoc est ok mais il ne peut pas convertir xls, ppt pour tester, j'utilise xls2csv et apache-tika pour eux. Vérifie-les!
Phyo Arkar Lwin
@nahar, odt2txt ne fonctionne qu'au format odt, pas ms doc.
Allen
1
super, catdoc me donne une faute de segmentation
fotanus
8

J'ai finalement trouvé l'outil parfait pour l'analyse de documents par script, c'est apache-tika, il peut analyser des formats non textuels gazillion en texte qui est très cool!

Obtenez Apache Tika ici:

http://tika.apache.org/

( Les utilisateurs de Mac Homebrew: brew install tika)

L'interface de ligne de commande fonctionne comme ceci:

tika --text something.docx > something.txt

Phyo Arkar Lwin
la source
+1: Apache Tika est un projet Open Source sérieux, fonctionne également sous Windows, fonctionne à partir de la ligne de commande, il a une interface graphique avec glisser-déposer, ouvre tout (Word, Excel, PowerPoint, PDF, svg), extrait les métadonnées de le document aussi. Après avoir essayé la plupart des outils ci-dessus, Apache Tika est ce que je cherchais. Cela devrait être la réponse acceptée (je ne sais pas si vous pouvez accepter votre propre réponse)
user2518618
2
a fait, sans vergogne ...: D
Phyo Arkar Lwin
7

Abiword peut convertir à partir de la ligne de commande entre tous les formats de fichiers qu'il connaît.

Convertir de Word en texte brut:

abiword --to=txt myfile.doc

Faire un pdf à partir d'un fichier Word:

abiword --to=pdf myfile.doc

Etc. Les résultats dans ces cas seraient myfile.txt ou myfile.pdf. Si vous souhaitez spécifier le nom de sortie, vous pouvez également le faire:

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

Convertir ODT en Word:

abiword --to=doc myfile.odt

Convertir Word en ODT:

abiword --to=odt myfile.doc

Pour être juste envers les autres réponses, il convient de noter qu'AbiWord utilise wvWare pour gérer les documents Word, mais même la page d'accueil de wvWare recommande d'utiliser AbiWord à la place pour la plupart des conversions.

Je déteste les traitements de texte. C'est la raison principale pour laquelle j'ai installé AbiWord.

Vous pourriez également être intéressé par unoconv , qui est un outil similaire prenant en charge les formats connus par OpenOffice (qui inclurait des feuilles de calcul et autres), mais je n'ai aucune expérience personnelle.

frabjous
la source
Pour le document .docx, il gâche: S Mais une belle solution pour .doc
Warface
3

Avec LibreOffice, vous pouvez faire:

libreoffice --invisible --convert-to pdf file1.ppt file2.ppt
Dorian
la source
4
Vous pouvez utiliser le filtre Texte pour convertir en txt: libreoffice --invisible --convert-to txt: Fichiers texte
Gagaro
0

Vous pouvez utiliser CUPS (imprimante virtuelle) et en utilisant ld.

ukanth
la source
Intéressant, cela peut-il convertir des éléments imprimables en PDF? Pouvez-vous me montrer un exemple et le faire pour Doc ou Xls?
Phyo Arkar Lwin du
0

wv est une option et IIRC OpenOffice peut être dit à partir de la ligne de commande pour exporter en pdf et quitter.

ptman
la source
unoconv semble être l'outil lié à OpenOffice dont je ne me souvenais pas.
ptman
0

1.doc catdoc ou antiword pour les fichiers doc à convertir, vous pouvez utiliser la commande suivante catdoc file.doc> file ou antiword file.doc> file

  1. docx docx2txt

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

Linuxant
la source
(1) Catdoc a été proposé dans une réponse publiée dans l'heure qui a suivi la question, il y a près de trois ans. Pourquoi répétez-vous cela? (2) Où peut-on obtenir l'anti-mot? (3) Que signifie la moitié inférieure de votre réponse?
Scott
-1

Docsplit est l'outil parfait pour extraire le texte du pdf. C'est un bijou rubis. Vous devez donc installer ruby ​​et gem dans votre système linux avant d'utiliser la commande docsplit.

Si votre système n'avait ni rubis ni gemme, veuillez suivre les instructions.

Vous devez être root pour installer le logiciel (en supposant que vous souhaitiez qu'il soit disponible pour tous les utilisateurs).

Installez le ruby ​​sur linux: yum install ruby
Installez le gem, veuillez télécharger le dernier package gem, puis suivez les instructions

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

Maintenant que RubyGems est installé, vous devriez avoir la commande gem (gem est la commande utilisée pour interagir avec le système de package RubyGems). Testez-le en exécutant:

liste de gemmes

Maintenant, passez à l'étape suivante, pour installer la gemme docsplit, veuillez vous rendre sur le site suivant. http://documentcloud.github.com/docsplit/

Mr Noir
la source
C'est exactement le contraire de ce que le PO a demandé.
CarlF