¿Cómo extraer el texto de los documentos de MS Office en Linux?

18

Necesito una forma de extraer el texto de todos los tipos de documentos de MS Office (Word, Excel, Powerpoint), en Linux. Imagino que podría haber varios enfoques diferentes para lograr esto, como un script Bash o Python, o convertirlos a PDF y luego extraer el texto usando una herramienta como pdftotext.

Esto parece ser un requisito común. ¿Existe un procedimiento o herramienta establecida para lograr esto fácilmente?

Phyo Arkar Lwin
fuente

Respuestas:

16

Catdoc puede convertir doc, xls y ppt a texto. La segunda opción sería wvWare .

Para obtener más utilidades, consulte http://www.linux.com/archive/articles/52385 para ver los convertidores de texto a texto y

nahar
fuente
Catdoc! ¡Eso es lo que estoy buscando! ¿Funcionará también para ODF?
Phyo Arkar Lwin
Simplemente busqué en Google y obtuve stosberg.net/odt2txt . Nunca lo intenté, parece que hace el trabajo.
nahar
Genial, gracias. catdoc está bien pero no puede convertir xls, ppt para probar, yo uso xls2csv y apache-tika para ellos. échales un vistazo!
Phyo Arkar Lwin
@nahar, odt2txt solo funciona en formato odt, no en ms doc.
Allen
1
grande, catdoc me da segmentación, error
fotanus
8

Finalmente encontré la herramienta perfecta para el análisis de documentos de secuencias de comandos, es apache-tika, ¡puede analizar millones de formatos que no son de texto en texto, lo cual es muy bueno!

Obtenga Apache Tika aquí:

http://tika.apache.org/

(Usuarios de Mac: Homebrew brew install tika)

La interfaz de línea de comandos funciona así:

tika --text something.docx > something.txt

Phyo Arkar Lwin
fuente
+1: Apache Tika es un proyecto serio de código abierto, funciona también en Windows, funciona desde la línea de comandos, tiene una GUI con arrastrar y soltar, abre cualquier cosa (Word, Excel, PowerPoint, PDF, svg), extrae los metadatos de El documento también. Después de probar la mayoría de las herramientas anteriores, Apache Tika es lo que estaba buscando. Esta debería ser la respuesta aceptada (no sé si puede aceptar su propia respuesta)
user2518618
2
lo hizo, descaradamente ...: D
Phyo Arkar Lwin
7

Abiword puede convertir desde la línea de comandos entre cualquier formato de archivo que conozca.

Convierte de Word a texto sin formato:

abiword --to=txt myfile.doc

Hacer un pdf desde un archivo de Word:

abiword --to=pdf myfile.doc

Y así. Los resultados en estos casos serían myfile.txt o myfile.pdf. Si desea especificar el nombre de salida, también puede hacerlo:

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

Convertir ODT a Word:

abiword --to=doc myfile.odt

Convierta Word a ODT:

abiword --to=odt myfile.doc

Para ser justos con otras respuestas, debe tenerse en cuenta que AbiWord usa wvWare para manejar documentos de Word, pero incluso la página de inicio de wvWare recomienda usar AbiWord en su lugar para la mayoría de las conversiones.

Odio los procesadores de texto. Esta es la razón principal por la que tengo instalado AbiWord.

También podría estar interesado en unoconv , que es una herramienta similar que admite formatos que OpenOffice conoce (que incluiría hojas de cálculo y similares), pero no tengo experiencia con eso personalmente.

precioso
fuente
Para el documento .docx se estropea: S Pero es una buena solución para .doc
Warface
3

Con LibreOffice puedes hacer:

libreoffice --invisible --convert-to pdf file1.ppt file2.ppt
dorio
fuente
44
Puede utilizar el filtro de texto para convertir a txt: libreoffice --invisible --convert-to txt: archivos de texto
Gagaro
0

Puede usar CUPS (impresora virtual) y usando ld.

ukanth
fuente
Interesante, ¿puede eso convertir cualquier material imprimible a PDF? ¿Puedes señalarme y hacer un ejemplo para Doc o Xls?
Phyo Arkar Lwin
0

wv es una opción y se puede decir a IIRC OpenOffice desde la línea de comandos que exporte como pdf y salga.

ptman
fuente
Unoconv parece ser la herramienta relacionada con OpenOffice que no podía recordar.
ptman 23/10/10
0

1.doc catdoc o antiword para convertir archivos doc, puede usar el siguiente comando catdoc file.doc> file o antiword file.doc> file

  1. docx docx2txt

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

Linuxant
fuente
(1) Catdoc se propuso en una respuesta que se publicó dentro de una hora de la pregunta, hace casi tres años. ¿Por qué lo estás repitiendo? (2) ¿Dónde se puede obtener el antiword? (3) ¿Qué significa la mitad inferior de su respuesta?
Scott
-1

Docsplit es la herramienta perfecta para extraer el texto de pdf. Es una joya de rubí. Por lo tanto, debe instalar ruby ​​y gem en su sistema Linux antes de usar el comando docsplit.

Si su sistema no tenía el rubí y la gema, siga las instrucciones.

Debe ser root para instalar el software (suponiendo que desea que esté disponible para todos los usuarios).

Instale ruby ​​en linux: yum install ruby
Instale la gema, descargue el último paquete de gemas, luego siga las instrucciones

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

Ahora que RubyGems está instalado, debe tener el comando gem (gem es el comando utilizado para interactuar con el sistema de paquetes RubyGems). Pruébelo ejecutando:

lista de gemas

Ahora, avance al siguiente paso, para instalar la gema docsplit, vaya al siguiente sitio. http://documentcloud.github.com/docsplit/

El Sr. Black
fuente
Esto es exactamente lo contrario de lo que solicitó el OP.
CarlF