Ler PDF com JAVA

A 5 de Fevereiro de 2009, categoria Java, por Carlos Gonçalves
3

Já anteriormente mostrei como era fácil de Ler PDF e Documentos Word com PHP, agora e porque ontem, numa aplicação remota que estou a trabalhar, também tem de ler ficheiros PDF’s, .DOCs e afins, para já hoje fica a solução que encontrei para ler os PDF’s com JAVA, isto vai ajudar a ler os PDF’s e transformá-los em formato de texto.

Antes de tudo, precisas de instalar a API do PDFBox

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.io.Reader;
import java.io.StringReader;
import java.util.Date;

import org.pdfbox.pdfparser.PDFParser;
import org.pdfbox.pdmodel.PDDocument;
import org.pdfbox.pdmodel.PDDocumentInformation;
import org.pdfbox.util.PDFTextStripper;

public class PdfParser
{
	private String enderecoRecurso;

	public void setEnderecoRecurso(String enderecoRecurso)
	{
		this.enderecoRecurso = enderecoRecurso; //endereço dos ficheiros
	}

	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;
		}

		PDDocument pdfDocument = null;
		try{
			PDFParser parser = new PDFParser(is);
			parser.parse();
			pdfDocument = parser.getPDDocument();
			PDFTextStripper stripper = new PDFTextStripper();
			return stripper.getText(pdfDocument);
		}
		catch (IOException e){
			return "ERRO: Não é possível abrir a stream" + e;
		}
		catch (Throwable e){
			// Fazemos um catch, uma vez que precisamos de fechar o recurso
			return "ERRO: Um erro ocorreu enquanto tentava obter o conteúdo do PDF" + e;
		}
		finally{
			if (pdfDocument != null){
				try{
					pdfDocument.close();
				}
				catch (IOException e){
					return "ERRO: Não foi possível fechar o PDF." + e;
				}
			}
		}
	}
}

Para quem não sabe o que é o Finally clica sobre ele.


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...