Ver Mensaje Individual
  #1 (permalink)  
Antiguo 04/09/2010, 05:45
IEKK
 
Fecha de Ingreso: agosto-2010
Ubicación: Tenerife
Mensajes: 893
Antigüedad: 14 años, 4 meses
Puntos: 202
Leer un .docx

He estado buscando información sobre como leer y limpiar el contenido de un fichero con extensión .doc o docx

En el caso de los .doc encontré lo siguiente para convertir en texto plano:
Código PHP:
if ( file_exists($filename) ) {

if ( (
$fh fopen($filename'r')) !== false ) {

$headers fread($fh0xA00);

# 1 = (ord(n)*1) ; Document has from 0 to 255 characters
$n1 = ( ord($headers[0x21C]) - );

# 1 = ((ord(n)-8)*256) ; Document has from 256 to 63743 characters
$n2 = ( ( ord($headers[0x21D]) - ) * 256 );

# 1 = ((ord(n)*256)*256) ; Document has from 63744 to 16775423 characters
$n3 = ( ( ord($headers[0x21E]) * 256 ) * 256 );

# (((ord(n)*256)*256)*256) ; Document has from 16775424 to 4294965504 characters
$n4 = ( ( ( ord($headers[0x21F]) * 256 ) * 256 ) * 256 );

# Total length of text in the document
$textLength = ($n1 $n2 $n3 $n4);

$extracted_plaintext fread($fh$textLength);

# if you want the plain text with no formatting, do this
echo $extracted_plaintext;

# if you want to see your paragraphs in a web page, do this
$textonl2br($extracted_plaintext);

}


Y hasta ahora me ha ido bien, pero esto no funciona con los docx ya que el fread pilla que la longitud debe ser mayor que 0. No consigo corregir esto ni aunque le ponga el filesize y no encuentro nada acerca de como hacerlo con php.

Si alguien me sabría indicar como se puede realizar o donde puedo encontrar documentación al respecto muchas gracias.

Un saludo.