Ler Word com JAVA

A 10 de Fevereiro de 2009, categoria Java, Office, por Carlos Gonçalves
4

Em continuação do desenvolvimento da aplicação que estou a criar, ontem terminei a Leitura de documentos Word (.doc) com JAVA.
Na realidade é bastante simples.
Começa por fazer download da API POI, que ao contrário do Ler Excel com JAVA, com o Word facilita mais que o Aspose.

Após termos a API POI, fazemos os imports necessários:

import org.apache.poi.hwpf.HWPFDocument;
import org.apache.poi.hwpf.extractor.WordExtractor;

De seguida:

File f = new File(caminhoArquivo);
FileInputStream is = new FileInputStream(f);

HWPFDocument wdoc = new HWPFDocument(is);
WordExtractor extractor = new WordExtractor(wdoc);
String conteudo = extractor.getText();
conteudo = conteudo.replace("\n", " ");
System.out.println("Conteúdo do ficheiro: " + conteudo);

Como também precisava de extrair o conteúdo de .RTF, temos de fazer:

import javax.swing.text.BadLocationException;
import javax.swing.text.rtf.RTFEditorKit;
import javax.swing.text.DefaultStyledDocument;

import java.io.InputStream;
import java.io.IOException;
import java.io.File;
import java.io.FileInputStream;
public class RtfParser
{
	public String enderecoRecurso;

	public void setEnderecoRecurso(String enderecoRecurso)
	{
		this.enderecoRecurso = enderecoRecurso; //caminho do ficheiro
	}

	public String getConteudo()
	{
		File f = new File(this.enderecoRecurso);
		FileInputStream is = null;

		try {
			is = new FileInputStream(f);
		}
		catch(IOException e) {
			System.out.println("ERRO: " + e.getMessage());
			return null;
		}

		String bodyText = null;

		DefaultStyledDocument styledDoc = new DefaultStyledDocument();
		try {
			new RTFEditorKit().read(is, styledDoc, 0);
			bodyText = styledDoc.getText(0, styledDoc.getLength());
		}
		catch (IOException e) {
			return "ERRO: Impossível extrair o texto do Documento RTF. Excepção: " + e;
		}
		catch (BadLocationException e) {
			return "ERRO: Impossível extrair o texto do Documento RTF. Excepção: " + e;
		}
		return bodyText;
	}
}

Pronto é isto, dúvidas, não hesitem.


Muito FracoFracoRazoávelBomMuito Bom (Nenhum voto por enquanto)
Loading ... Loading ...
Tags:
 

Ler PDF e Documentos Word com PHP

A 29 de Janeiro de 2009, categoria Office, PHP, por Carlos Gonçalves
10

Um dos trabalhos que já fiz para um cliente, envolvia manipulação de muitos documentos Word e PDF no site.
Eram documentos importantes dos serviços online desse cliente, não é como se fossem um amontoado de lixo de ficheiros no servidor. O objectivo do trabalho era que o motor de pesquisa do seu site (Sphider) lesse esses ficheiros PDF e DOC, para que os seus clientes pudessem chegar aos documentos que precisavam, sem que para isso tivessem de andar à procura deles através de inúmeras páginas.
Fui bem sucedido no que toca à realização do objectivo do cliente, e vou agora explicar como ler PDF’s e DOC’s utilizando PHP.

Ler Ficheiros PDF

Para que seja possível a leitura de PDF’s, primeiramente precisas de instalar o xpdf package, que inclui “pdftotext.” Depois de termos xpdf/pdftotext instalado, executamos a seguinte instrução PHP para obter o texto do PDF:

$content = shell_exec('/usr/local/bin/pdftotext '.$filename.' -');

Ler Ficheiros Word (.doc)

Ainda como o exemplo acima dos PDF’s, precisas de instalar outro pacote. Pacote esse denominado Antiword.
Esta é a linha que obtém o conteúdo do Documento Word:

$content = shell_exec('/usr/local/bin/antiword '.$filename);

De frisar que o código acima não lê ficheiros .DOCX (Office 2007) e não (propositadamente) preserva o formato.
Existem outras bibliotecas que preservam a formatação, mas no meu caso, o objectivo era so mesmo obter o texto.


Muito FracoFracoRazoávelBomMuito Bom (1 votos, média: 4,00 num total de 5)
Loading ... Loading ...
Tags:
 

Procuras alguma coisa?

Utiliza o formulário abaixo para pesquisares no meu site:


Ainda não encontraste o que procuravas? Deixa um comentário num post ou contacta-me para que te possa ajudar!

Links de Interesse!

Links por mim recomendados...

Arquivos

Ordenado de forma cronológica...