Ver Mensaje Individual
  #3 (permalink)  
Antiguo 27/06/2005, 05:58
ajgallego
 
Fecha de Ingreso: junio-2005
Mensajes: 6
Antigüedad: 19 años, 5 meses
Puntos: 0
He encontrado la siguiente función, pero no obtiene ningún resultado a partir de un documento PDF normal. He estado comprobando lo que hace y al descomprimir los datos del PDF con @gzuncompress ($data); no devuelve nada. Puede ser problema de la función utilizada, que no utilice el mismo tipo de compresión.

Alguien sabe algo de esto?

El código es el siguiente:

Código PHP:
function pdf2string ($sourceFile)
  {
   
$textArray = array ();
   
$objStart 0;
  
   
$fp fopen ($sourceFile'rb');
   
$content fread ($fpfilesize ($sourceFile));
   echo 
$content;
   
fclose ($fp);
  
   
$searchTagStart chr(13).chr(10).'stream';
   
$searchTagStartLenght strlen ($searchTagStart);
  
   while (((
$objStart strpos ($content$searchTagStart$objStart)) && ($objEnd strpos ($content'endstream'$objStart+1))))
   {
     
$data substr ($content$objStart $searchTagStartLenght 2$objEnd - ($objStart $searchTagStartLenght) - 2);
     
$data = @gzuncompress ($data);
    
     if (
$data !== FALSE && strpos ($data'BT') !== FALSE && strpos ($data'ET') !== FALSE)
     {
       
$textArray [] = ExtractText ($data);
     }
    
     
$objStart $objStart $objEnd $objEnd $objStart 1;
   }
  
   return 
$textArray;
  }
 
  function 
ExtractText ($postScriptData)
  {
   while (((
$textStart strpos ($postScriptData'('$textStart)) && ($textEnd strpos ($postScriptData')'$textStart 1)) && substr ($postScriptData$textEnd 1) != '\\'))
   {
     
$plainText .= substr ($postScriptData$textStart 1$textEnd $textStart 1);
     if (
substr ($postScriptData$textEnd 11) == ']'//this adds quite some additional spaces between the words
     
{
       
$plainText .= ' ';
     }
    
     
$textStart $textStart $textEnd $textEnd $textStart 1;
   }
  
   return 
stripslashes ($plainText);
  }
?>