Jump to content
knoker

Ler o conteudo de PDF em PHP

Recommended Posts

knoker

Boas tardes,

Ando já ha algum tempo a procura disto na net mas até agora nada...

A ideia é fazer um motor de busca em php que procure strings dentro de ficheiros PDF.

Queria ver se arranjava uma lib com funções para ler pdf.

Até agora encontrei foi libs para gerar pdf não é isso que procuro.

Cumprimentos,

Eduardo Oliveira

Share this post


Link to post
Share on other sites
laboss

vi esta funçao pela internet ve se faz o que queres:

function pdf2text($filename) { 

    // Read the data from pdf file
    $infile = @file_get_contents($filename, FILE_BINARY); 
    if (empty($infile)) 
        return ""; 

    // Get all text data.
    $transformations = array(); 
    $texts = array(); 

    // Get the list of all objects.
    preg_match_all("#obj(.*)endobj#ismU", $infile, $objects); 
    $objects = @$objects[1]; 

    // Select objects with streams.
    for ($i = 0; $i < count($objects); $i++) { 
        $currentObject = $objects[$i]; 

        // Check if an object includes data stream.
        if (preg_match("#stream(.*)endstream#ismU", $currentObject, $stream)) { 
            $stream = ltrim($stream[1]); 

            // Check object parameters and look for text data. 
            $options = getObjectOptions($currentObject); 
            if (!(empty($options["Length1"]) && empty($options["Type"]) && empty($options["Subtype"]))) 
                continue; 

            // So, we have text data. Decode it.
            $data = getDecodedStream($stream, $options);  
            if (strlen($data)) { 
                if (preg_match_all("#BT(.*)ET#ismU", $data, $textContainers)) { 
                    $textContainers = @$textContainers[1]; 
                    getDirtyTexts($texts, $textContainers); 
                } else 
                    getCharTransformations($transformations, $data); 
            } 
        } 

    } 

    // Analyze text blocks taking into account character transformations and return results. 
    return getTextUsingTransformations($texts, $transformations); 
}

Tambem vi no phpclass

http://www.phpclasses.org/package/702-PHP-Searches-pdf-documents-for-text.html

Depois de teres o texto e so pesquisar :)

Share this post


Link to post
Share on other sites
knoker

desde já muito obrigado pela resposta.

o código postado já o tinha encontrado e n funcionou, n percebi porque... não retornava texto nenhum.

vou agora testar a classe :) espero que funcione.

Abço

Share this post


Link to post
Share on other sites
knoker

Boas,

ainda ando aqui ás cabeçadas com isto.

tentei o código que está aqui no tópico, tentei o link e ainda encontrei mais uma classe que supostamente também converte pdf para texto mas nada...

será que me está a faltar alguma lib no php?

eu tenho uma instalação da versão 5.3.6 + apache 2 salvo erro..

será que tem a ver com o ficheiro de pdf que estou a usar? está na versão 1.6

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.