Como extrair o texto dos documentos do MS Office no Linux?


18

Eu preciso de uma maneira de extrair o texto de todos os tipos de documentos do MS Office (Word, Excel, Powerpoint), no Linux. Eu imagino que possa haver várias abordagens diferentes para fazer isso, como um script Bash ou Python, ou convertê-las em PDF e depois extrair o texto usando uma ferramenta como pdftotext.

Parece que isso pode ser um requisito comum. Existe um procedimento ou ferramenta estabelecida para fazer isso facilmente?

Respostas:


16

O Catdoc pode converter documentos, xls e ppt em texto. A segunda opção seria o wvWare .

Para obter mais utilitários, verifique http://www.linux.com/archive/articles/52385 para obter informações sobre texto para texto e


Catdoc! Essa é a coisa que eu estou procurando! Também funcionará para ODF?
Phyo Arkar Lwin

Apenas pesquisei no Google e obtive stosberg.net/odt2txt . nunca tentei, parece que faz o trabalho.
nahar 22/07/10

legal obrigado. O catdoc está ok, mas não pode converter xls, ppt para testar, eu uso xls2csv e apache-tika para eles. vê-los!
Phyo Arkar Lwin 30/10/10

@nahar, odt2txt funciona apenas no formato odt, não no ms doc.
Allen

11
grande, catdoc me dá falha de segmentação
fotanus

8

Finalmente encontrei a ferramenta perfeita para a análise de documentos por script, é o apache-tika, ele pode analisar gazilhões de formatos não-texto em texto, o que é muito legal!

Obtenha o Apache Tika aqui:

http://tika.apache.org/

(Usuários do Mac Homebrew: brew install tika)

A interface da linha de comandos funciona assim:

tika --text something.docx > something.txt


+1: O Apache Tika é um projeto sério de código aberto, funciona também no Windows, funciona na linha de comando, possui uma GUI com arrastar e soltar, abre qualquer coisa (Word, Excel, PowerPoint, PDF, svg), extrai os metadados de o documento também. Depois de experimentar a maioria das ferramentas acima, o Apache Tika é o que eu estava procurando. Esta deve ser a resposta aceita (eu não sei se você pode aceitar a sua própria resposta)
user2518618

2
fiz, descaradamente ...: D
Phyo Arkar Lwin

7

O Abiword pode converter da linha de comando entre os formatos de arquivo que ele conhece.

Converter do Word em texto sem formatação:

abiword --to=txt myfile.doc

Faça um pdf a partir de um arquivo do Word:

abiword --to=pdf myfile.doc

E assim por diante. Os resultados nesses casos seriam myfile.txt ou myfile.pdf. Se você deseja especificar o nome da saída, também pode fazer isso:

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

Converter ODT para Word:

abiword --to=doc myfile.odt

Converter Word em ODT:

abiword --to=odt myfile.doc

Para ser justo com outras respostas, deve-se observar que o AbiWord usa o wvWare para manipular documentos do Word, mas mesmo a página inicial do wvWare recomenda o uso do AbiWord na maioria das conversões.

Eu odeio processadores de texto. Esta é a principal razão pela qual o AbiWord está instalado.

Você também pode se interessar pela desconocon , que é uma ferramenta semelhante que suporta os formatos que o OpenOffice conhece (que incluiria planilhas e similares), mas não tenho experiência com isso pessoalmente.


Para documento.docx isso atrapalhar: S Mas uma solução agradável para .doc
Warface

3

Com o LibreOffice, você pode:

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

4
Você pode usar o filtro de texto para converter para txt: LibreOffice --invisible --convert-to txt: Texto arquivos
Gagaro

0

Você pode usar o CUPS (impressora virtual) e usando o ld.


Interessante, isso pode converter qualquer material imprimível em PDF? Você pode me indicar um exemplo para Doc ou Xls?
Phyo Arkar Lwin

0

wv é uma opção e o IIRC OpenOffice pode ser instruído a partir da linha de comando para exportar como pdf e sair.


O unoconv parece ser a ferramenta relacionada ao OpenOffice que eu não conseguia lembrar.
ptman 23/10/10


0

1.doc catdoc ou antiword para arquivos doc serem convertidos, você pode usar o seguinte comando catdoc file.doc> file ou antiword file.doc> file

  1. docx docx2txt

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


(1) O Catdoc foi proposto em uma resposta publicada uma hora após a pergunta, quase três anos atrás. Por que você está repetindo? (2) Onde o antiword pode ser obtido? (3) O que significa a metade inferior da sua resposta?
Scott

-1

Docsplit é a ferramenta perfeita para extrair o texto de pdf. É uma jóia de rubi. Portanto, você deve instalar o ruby ​​e o gem no seu sistema linux antes de usar o comando docsplit.

Se o seu sistema não possui ruby ​​e gem, siga as instruções.

Você deve ser root para instalar o software (supondo que você queira que ele esteja disponível para todos os usuários).

Instale o ruby ​​no linux: yum install ruby
Instale o gem, faça o download do pacote gem mais recente e siga as instruções

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

Agora que o RubyGems está instalado, você deve ter o comando gem (gem é o comando usado para interagir com o sistema de pacotes RubyGems). Teste-o executando:

lista de gemas

Agora, vá para a próxima etapa, para instalar a jóia do docsplit, vá para o site a seguir. http://documentcloud.github.com/docsplit/


Esse é exatamente o oposto do que o OP solicitou.
CarlF
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.