PUBLICIDADE
Este código tem nota
10

Autor

solgamboa

Solange Gamboa

membro deste outubro de 2009

Enquete

O mercado de publicidade na web chegou no seu limite?
PUBLICIDADE

Converter arquivo DOC ou PPT para texto puro


As seguintes funções convertem documentos do Office (.DOC ou .PPT) para texto puro, usando linguagem PHP.

Função DOC2Text:


/*** Converte DOC para Texto Limpo*
@param filename: Caminho do
arquivo*/
function DOC2Text($filename) {    $fileHandle = fopen($filename, "r");    $line = @fread($fileHandle, filesize($filename));       $lines = explode(chr(0x0D),$line);    $outtext = "";    foreach($lines as $thisline)      {        $pos = strpos($thisline, chr(0x00));        if (($pos !== FALSE)||(strlen($thisline)==0))          {          } else {            $outtext .= $thisline." ";          }      }     $outtext = preg_replace("/[^a-zA-Z0-9\s\,\.\-\n\r\t@\/\_\(\)]/","",$outtext);    return $outtext;}

Modo de Uso:

$doc_content = DOC2Text('/tmp/meudoc.doc');
echo "$doc_content";


Função PPT2Text:



/*** Converte PPT para Texto Limpo*

@param filename: Caminho do
arquivo*/

function PPT2Text($filename) {
    // Esta abordagem utiliza a detecção da string "chr(0f).Hex_value.chr(0x00).chr(0x00).chr(0x00)" para identificar strings de texto, que são então fechadas com outro NUL chr(0x00) e captura o texto entre os delimitadores
    $fileHandle = fopen($filename, "r");
    $line = @fread($fileHandle, filesize($filename));
    $lines = explode(chr(0x0f),$line);
    $outtext = '';
   
    foreach($lines as $thisline) {
        if (strpos($thisline, chr(0x00).chr(0x00).chr(0x00)) == 1) {
            $text_line = substr($thisline, 4);
            $end_pos   = strpos($text_line, chr(0x00));
            $text_line = substr($text_line, 0, $end_pos);
            $text_line = preg_replace("/[^a-zA-Z0-9\s\,\.\-\n\r\t@\/\_\(\)]/","",$text_line);
            if (strlen($text_line) > 1) {
                $outtext.= substr($text_line, 0, $end_pos)."\n";
            }
        }
    }
    return $outtext;
}

Modo de Uso:

$ppt_content = PPT2Text('/tmp/meuppt.ppt');

echo "$ppt_content";

function DOC2Text($filename) {    $fileHandle = fopen($filename, "r");    $line = @fread($fileHandle, filesize($filename));       $lines = explode(chr(0x0D),$line);    $outtext = "";    foreach($lines as $thisline)      {        $pos = strpos($thisline, chr(0x00));        if (($pos !== FALSE)||(strlen($thisline)==0))          {          } else {            $outtext .= $thisline." ";          }      }     $outtext = preg_replace("/[^a-zA-Z0-9\s\,\.\-\n\r\t@\/\_\(\)]/","",$outtext);    return $outtext;} 

function PPT2Text($filename) {
    // Esta abordagem utiliza a detecção da string "chr(0f).Hex_value.chr(0x00).chr(0x00).chr(0x00)" para identificar strings de texto, que são então fechadas com outro NUL chr(0x00) e captura o texto entre os delimitadores
    $fileHandle = fopen($filename, "r");
    $line = @fread($fileHandle, filesize($filename));
    $lines = explode(chr(0x0f),$line);
    $outtext = '';
   
    foreach($lines as $thisline) {
        if (strpos($thisline, chr(0x00).chr(0x00).chr(0x00)) == 1) {
            $text_line = substr($thisline, 4);
            $end_pos   = strpos($text_line, chr(0x00));
            $text_line = substr($text_line, 0, $end_pos);
            $text_line = preg_replace("/[^a-zA-Z0-9\s\,\.\-\n\r\t@\/\_\(\)]/","",$text_line);
            if (strlen($text_line) > 1) {
                $outtext.= substr($text_line, 0, $end_pos)."\n";
            }
        }
    }
    return $outtext;
}

Sim   Não   Este código foi útil para você?
NotaComentário
10
maria1 comentou em 23/8/2012

legal

gostei do codigo.
10
homer1 comentou em 23/8/2012

otimo

gostei continue assim.
10
tonh0 comentou em 23/8/2012

muito bom

muito bom cara ficou bem simples.
Regras:
Os comentários seguem as seguintes regras:
  • Todos os comentários são enviados por membros cadastrados no site.
  • A pontuação de comentários de conteúdo do próprio membro não serão computados.
  • Os comentários serão pré-aprovados, porém a equipe do site revisará o conteúdo de todos os comentários podendo ser invalidados (inclusive a pontuação).
  • Os comentários precisam ter, obrigatóriamente, coerência sobre o conteúdo que será comentado.
  • O membro que atingir 5 comentários invalidados não poderá mais comentar dentro do site. Com isso o membro não poderá mais ganhar pontos com comentários.
  • Há um limite de 10 comentários por dia para cada membro.
  • Qualquer comentário após ter sido publicado poderá ser retirado através da opção ( denunciar)

Comente

     (ainda não tem cadastro? clique aqui!)


Máximo de 30 caracteres

Máximo de 255 caracteres
 

© 2006-2013 R&W Informática Ltda. - Todos os direitos reservados. - Política de Privacidade | Mapa do Site